json学习大纲

2010-05-10 阅读 36
  • 概念

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

  • 构建的结构 - “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组(associative array)。
  • 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
  • 具体形式 - 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”开始,以“}”结束。每个“名称”后跟一个“:”,“‘名称/值’对”之间使用“,”分隔。
  • 数组是值(value)的有序集合。一个数组以“[”开始,“]”结束。值之间使用“,”分隔。
  • 值(value)可以是双引号括起来的字符串(String)、数值(number)、true、false、null、对象(object)或者数组(array)。这些结构可以嵌套。
  • 字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜体转义。一个字符(character)即一个单独的字符串(characeter string).
  • XML比较 - 可读性

JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。

  • 可扩展性

XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。

  • 编码难度

XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。

  • 解码难度

XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度非常的难。不知道json的开发者脑袋是不是注水了。

  • 实例比较

XML和JSON都使用结构化方法来标记数据,下面来做一个简单的比较。

现假设有一个用户数据包括:用户名、密码、所在部门、性别、年龄。

用XML表示如下:

张三

123456

技术部

30

用JSON表示如下:

{

"name":"张三",

"password":"123456",

"department":"技术部",

"sex":"男",

"old":30

}

与XML一样,JSON也是基于文本的,且它们都使用Unicode编码,同样具有可读性。XML比较适合于标记文档,而JSON却更适合于时行数据交换处理。

json 学习大纲 数据

更新于 2023年03月28日