json是1年内迅速红遍全球的东东。
现在解释JSON是什么,大家都会说我老土吧,这里我想分析一下json红的原因,我们又得到什么启示呢。
json是什么,json.org是一种简洁有效的数据载体,是一种用字符串表示复杂js对象的方式,后端好生成,前端0解释。
它的风行和一下几点原因离不开的。
持久化的风潮:
persistence是javaEE5引入的重要模块。
php先天具备持久化特性每个变量都可以serialize()和unserialize()与字符串相互转化。
持久化带来最直接的好处就是复杂对象存储和传输,衡量持久化机制的优劣的重要标准是效率。
WEB2.0的推动:
Ajax引发了Web2.0革命,其中的x是xml。在ajax中xml是作为前后台数据传输的载体的。
随着Web2.0的大规模应用,xml解释的效率问题就暴露无疑了,xml是具有非常严禁的结构,这造成了任何浏览器把xml装入,解释成javaScript可以访问的对象的过程是漫长的。而json是js默认支持的最简洁对象创建方式,js接收他是轻松加愉快的,所以在持久化数据传输的舞台上json靠效率取胜。
JSON本身易用:
Ajax为什么一些老技术结合起来突然火了呢,因为易用。说白了自从上世纪有了DHTML,无刷新异步数据传输的解决方式绝不仅仅只有xmlHttpRequest一家。隐藏的iframe完全可以做到,而且一直也有人这么干。Ajax红了在于其易用性,所以几家领军企业对期的大规模应用引发Web2.0.
JSON同样易用,会了JSON之后我已经用var obj = {};var arr = []代替了var obj = new Object();var obj = new Array()。JSON是js中最简洁的对象定义方式,对于会js,用过eval()的朋友基本上没有什么学习成本。
以XML为代表的树形结构的风靡:
从数据结构的角度看xml的流行,因为xml是一颗树,树状的数据结构在像xml一样除了本身的内容节点再加上属性节点之后的威力如何大家都有体会,DOM是这种结构,UML是这种结构。
当我们用数据去描述客观世界的时候发现仅仅靠关系数据模型中的二维表已显笨拙,树形结构是更接近思维的一种,这也是人们在做会议记录时不在是notepad而使用freemind的原因。同样使用二维表,记录parentid的方式存储树的效率低下也给了LADP的发展空间。
说回来JSON,他是一种定义JS对象的方式,而JS中的Object是一树的形式组织的实体,所以JSON定义的对象在描述数据的功能上是足够的。
json相关概念请参考百度百科:JSON_百度百科
- 等 最代码怎么获取牛币啊?
- 完 谁来告诉我最代码上线的时间,答对者给5牛币,先来先得
- 等 牛友们,大家好,你们做程序员多久了?现在还好吗?
- 完 在微信打开的页面里进行app下载
- 等 最代码2014年欢乐聚声会
- 完 mysql如何查询表数据并且对3个字段降序的SQL?
- 完 最代码牛币机制改革
- 完 成功的在bae上使用了自定义运行环境 jetty+nginx的组合,大家对jetty+nginx优化有哪些心得?
- 完 进来分享一下各位牛牛是如何加入最代码大家庭的?
- 等 为什么java BufferedImage类处理大图直接抛出内存溢出的异常?
- 等 最代码是否开发手机app客户端?
- 完 java程序员学习哪些java的技术?java有哪些框架?都能做哪方面的开发?
- 等 php格式网页文件怎么运行?
- 等 Java volatile值获取的问题
- 等 前端vue,拦截了登录后台后,返回的token,requests拦截token,但是发送请求的时候,就出现跨越异常
- 等 大专本科计算机科班怎么找到Java工作?
- 等 eclipse怎么把三个java swing游戏项目合成一个项目?
- 完 伙伴们,大家都有什么好的解压方式么,分享一下~
- 完 三四线城市,6、7k,运维工作,索然无味,想去辞职上培训,各位牛牛有什么建议嘛
- 等 jsp页面输入中文变成问号
- 等 JPA在线上运行一段时间后报错Caused by: java.lang.IncompatibleClassChangeError: null
- 等 PHP 这个规则用preg_match_all怎么写
- 等 大佬们,有没有知道Alfresco如何配置LDAP登录呢?
- 等 php的install目录是框架带的吗?
- 完 java怎么通过json key值返回json字符串下符合条件的json value值?
- 完 一个http请求返回多个json数据,怎么解析?
- 完 Java怎么通过接口将json字符串转义?
- 等 spring MVC中json数据解析如何显示?
- 等 java怎样截取JSONArray数组中的json字符串?
- 等 java生成短信验证的500错误:Not a JSON Object:null?
- 完 java如何解析json数据并且保存到数据库?
- 完 jackson如何将复杂的java数据结构转换为json数据?
- 等 IE浏览器发起json请求时间参数值为什么会抛出jsonMappingException异常?
- 等 后台返回json,ajax解析并显示
- 等 从数据库获取数据并返回json字符串
- 等 为什么spring mvc+hibernate+mysql后台返回json请求数据会自动排序?