[转]Json 介绍以及与xml的区别
2009-07-23 17:44
330 查看
转自:Ext之家
Technorati 标签: json,xml
(http://www.myext.cn/Article/811.html)
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
JSON建构于两种结构:
“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。
JSON具有以下这些形式:
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
![](http://www.myext.cn/Article/UploadFiles/200809/20080906205643973.gif)
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
![](http://www.myext.cn/Article/UploadFiles/200809/20080906205643562.gif)
值(value)可以是双引号括起来的字符串(string)、数值(number)、
![](http://www.myext.cn/Article/UploadFiles/200809/20080906205643364.gif)
字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。
字符串(string)与C或者Java的字符串非常相似。
![](http://www.myext.cn/Article/UploadFiles/200809/20080906205643720.gif)
数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。
![](http://www.myext.cn/Article/UploadFiles/200809/20080906205643974.gif)
空白可以加入到任何符号之间。 以下描述了完整的语言。
Ajax中使用JSON的基本方法是前台载入后台声明Javascript对象的字符串,用eval方法来将它转为实际的对象,最后通过 DHTML更新页面信息。
JSON VS XML
·可读性 JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。
·可扩展性 XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。
·编码难度 XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。
·解码难度 XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。
·流行度 XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。到时Ajax应该变成Ajaj(Asynchronous Javascript and JSON)了。
Technorati 标签: json,xml
(http://www.myext.cn/Article/811.html)
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
JSON建构于两种结构:
“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。
JSON具有以下这些形式:
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
![](http://www.myext.cn/Article/UploadFiles/200809/20080906205643973.gif)
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
![](http://www.myext.cn/Article/UploadFiles/200809/20080906205643562.gif)
值(value)可以是双引号括起来的字符串(string)、数值(number)、
true、
false、
null、对象(object)或者数组(array)。这些结构可以嵌套。
![](http://www.myext.cn/Article/UploadFiles/200809/20080906205643364.gif)
字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。
字符串(string)与C或者Java的字符串非常相似。
![](http://www.myext.cn/Article/UploadFiles/200809/20080906205643720.gif)
数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。
![](http://www.myext.cn/Article/UploadFiles/200809/20080906205643974.gif)
空白可以加入到任何符号之间。 以下描述了完整的语言。
Ajax中使用JSON的基本方法是前台载入后台声明Javascript对象的字符串,用eval方法来将它转为实际的对象,最后通过 DHTML更新页面信息。
JSON VS XML
·可读性 JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。
·可扩展性 XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。
·编码难度 XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。
·解码难度 XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。
·流行度 XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。到时Ajax应该变成Ajaj(Asynchronous Javascript and JSON)了。
相关文章推荐
- Ext2.0:Json 介绍以及与xml的区别
- XML解析和Json解析简介以及两者的区别
- JSONP的工作原理,如何解决跨域问题,以及JSON 和XML数据格式的区别
- JSON和XML、区别以及优缺点
- JSON介绍以及和XML的对比
- Json 介绍 以及与XML 对比
- XML和Json的特点以及区别
- SAX解析,DOM解析以及XML HTML JSON之间区别
- XML和Json的特点以及区别
- JSON与XML的区别比较以及xml两种解析方式的比较
- Json和Xml的区别,以及它们的底层是如何处理的
- 操作xml|json|以及框架的简单介绍
- SS7.1_Hibernate_CRUD_ByXML~SS7.2_Hibernate_CRUD_ByXML使用Session对数据库进行增删改查以及saveOrUpdate/merge()的区别
- JSON与XML的区别比较
- SSL与TLS的区别以及介绍
- xml与json的区别,总结
- python安装json的方法;以及三种json库的区别
- having的用法以及与where区别介绍
- 简单描述JSON跟JSONP的区别以及实战
- mybatis.xml文件中#与$符号的区别以及数学符号的处理