JSON为什么那样红为什么要用json(另有洞天)

 更新时间:2012年12月26日 11:19:23   投稿:whsnow  
json是1年内迅速红遍全球的东东;json.org是一种简洁有效的数据载体,是一种用字符串表示复杂js对象的方式,后端好生成,前端0解释,接下来详细介绍json风行的几点原因

json是1年内迅速红遍全球的东东。
现在解释JSON是什么,大家都会说我老土吧,这里我想分析一下json红的原因,我们又得到什么启示呢。
json是什么,json.org是一种简洁有效的数据载体,是一种用字符串表示复杂js对象的方式,后端好生成,前端0解释。
它的风行和一下几点原因离不开的。

持久化的风潮
persistence是javaEE5引入的重要模块。
php先天具备持久化特性每个变量都可以serialize()和unserialize()与字符串相互转化。
持久化带来最直接的好处就是复杂对象存储和传输,衡量持久化机制的优劣的重要标准是效率。

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是解决xml效率问题的唯一途径么?
也不尽然,在本人不知道json之前,在使用div传输数据。
后台传到前台的是xmlHttp.responseText = '<div age="18" personid="007">lenel</div>';
然后前台接受数据时使用

复制代码 代码如下:

function toDivElememnt(s){
var oDiv = document.createElement("div");
oDiv.innerHTML = s;
oDiv = oDiv.firstChild;
return oDiv;
}

这个方法里我没有用js来解释json,而是用DOM来解释HTML串,这也是相当自然的,前面已经说过HTML串也是树状结构,我拿到oDiv之后就可以访问到age,personid等等属性了,效率也是相当可以的,呵呵。
这个不是我的原创啊,来自与我从前的Leader,牛人啊,良师益友。

JSON会代替XML么?
不会,在Ajax这个领域可能我们会搞Ajaj,但是XML如果只能干这点事那就不是XML了:)

我们真的得到什么启示么?
我还是没总结出来具体的,但是我认为语言是相通的,javaScript不能IOC么?

相关文章

  • javascript学习笔记(八)正则表达式

    javascript学习笔记(八)正则表达式

    这篇文章本来很早就要写的,主要介绍一下javascript正则表达式,拖了挺久的,现在整理下,供大家学习交流哈!
    2014-10-10
  • 详解js闭包

    详解js闭包

    闭包是一个比较抽象的概念,尤其是对js新手来说.书上的解释实在是比较晦涩,对我来说也是一样.
    2014-09-09
  • 简介JavaScript中charAt()方法的使用

    简介JavaScript中charAt()方法的使用

    这篇文章主要介绍了JavaScript中charAt()方法的使用详解,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • 如何编写高质量JS代码

    如何编写高质量JS代码

    这篇文章主要介绍了如何编写高质量JS代码的方法及相关资料,需要的朋友可以参考下
    2014-12-12
  • Websocket协议详解及简单实例代码

    Websocket协议详解及简单实例代码

    这篇文章主要介绍了Websocket协议详解及简单实例代码的相关资料,这里对websocket 协议进行详细介绍,并附简单实例代码,需要的朋友可以参考下
    2016-12-12
  • 辨析JavaScript中的Undefined类型与null类型

    辨析JavaScript中的Undefined类型与null类型

    Undefined与null都是js中的基本数据类型,然而正如它们的名字那样,未初始化和空并不相同,下面我们就来详细辨析JavaScript中的Undefined类型与null类型:
    2016-05-05
  • JavaScript基础语法与数据类型介绍

    JavaScript基础语法与数据类型介绍

    这篇文章介绍了JavaScript基础语法与数据类型,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • JavaScript 基础问答 四

    JavaScript 基础问答 四

    JavaScript 下拉菜单中的链接
    2008-12-12
  • Javascript入门学习第三篇 js运算

    Javascript入门学习第三篇 js运算

    上篇文章讲了js中的传值和传址 和 函数的作用域. 这章我们来探讨js中的变量,表达式,和运算符 还有一些 js 语句。 升级中……
    2008-07-07
  • 关于JavaScript的变量的数据类型的判断方法

    关于JavaScript的变量的数据类型的判断方法

    这篇文章主要介绍了关于JavaScript的变量的数据类型的判断方法,JS是一种弱类型语言,其数据类型的相关特性有时也受到不少开发者的诟病,需要的朋友可以参考下
    2015-08-08

最新评论