Json教程(一)--Json简介和准备工作

  json是个非常重要的数据结构,在web开发中应用十分广泛。笔者觉得每个人都应该好好的去研究一下json的底层实现,但是现在国内各大论坛或者没有系列的知识讲解,或者代码陈旧,基于这样的认识,笔者推出了一个关于json的系列教程,分析一下json的相关内容,希望大家能有所收获。

  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建构于两种结构:

 “名称/值”对的集合(Acollection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

  值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

 

JSON具有以下这些形式:

1).Object

对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。


2).Array

数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。


3).Value

值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。


4).String

字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

字符串(string)与C或者Java的字符串非常相似。

5).number

数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。


空白可以加入到任何符号之间

最后基础知识介绍到此,给大家说一下使用json前的准备工作,需要准备下面的六个jar包:
commons-lang-1.0.4.jar 
commons-collections-2.1.jar
 
commons-beanutils-1.8.0.jar
 
json-lib-2.4.jar
 
ezmorph-1.0.6.jar
 
commons-logging-1.1.jar
关于以上jar包的说明:
(1)json-lib最新版本可以从这个地方下载:http://sourceforge.net/projects/json-lib/files/json-lib/
(2)ezmorph是一个简单的java类库,用于将一种bean转换成另外一种bean。其动态bean的实现依赖于commons-beanutils包。ezmorph可以在这个地方下载源码:http://sourceforge.net/projects/ezmorph/files/ezmorph/
(3)commons-beanutils是操作Java Bean的类库,依赖于commons-collections。
(4)commons-collections类库是各种集合类和集合工具类的封装。

猜你喜欢

转载自blog.csdn.net/u013046774/article/details/65445105