首页 > 代码库 > json

json

工具:

http://www.ij2ee.com/bejson/bejson.html

 

和XML数据格式的对比

这个其实是很明显的,各有优势,各有各自流行的领域。不多说吧,大都要靠自己去理解。

json用途: 据我理解,好像主要是,web程序的服务端、客户端的数据传递。

 

如果我们通过浏览器的F12查看http请求的内容或者响应内容,我会发现它的格式就是json, 为什么大多数情况下我们都使用json来传输数据呢?

使用json来传输数据的时候,服务端、客户端需要什么条件呢?

很明显,服务端、客户端都需要能够按照json规则来解析对方传递来的数据,不过仔细分析,他们稍有不同:

服务端:需要对应的json字符串转服务端数据类型(一般就是数组、List、Object、Bean、Map等)工具, 反向转换工具。

(浏览器)客户端:需要对应的json字符串转客户端数据类型(如果客户端使用js的就是对应 Object、Array对象了)工具, 反向转换工具。

 

 

解惑:

很多语言都有提供对应的json工具包来操作数据类型和对应json的字符串的转换。—— java里貌似有json.jar,flex里面有JSON的静态类(flex 4.6才开始提供的。。其他版本则需要额外的swc)

js流行类库jQuery提供的ajax方法传送数据就都是使用的是json格式,—— 服务器端,当然,需要有对应的类库来解析为服务器可识别的有效的数据类型。

c#也有,php也有等等

;不过,有时候,可能

这样可以:{"a":"b"}————这样就不行:"a":"b" ———— 貌似必须用{}包围起来作为一个object

或者

用[]包围起来表示一个数组才行:  ["a","b"]

 

JSON的键值对 都必须用双引号———— 单引号都是不行的!!!  起初,我组装了json字符串,但是一直都是invalid,我过了许久才发现,原来没有对键就行双引号包围,—— 如果值是字符串的话,也需要双引号包围(但是数字可以不用)。应该引起注意的是,如果我们最终需要一个,写的时候需要的是两个双引号:一个正常的,一个转义的。对于上面的json对象{"a":"b"},实际上我们需要在代码里面这样写:{"\"a\"":"\"b\""},很麻烦啊。。。

 

———— 对于{}、[]这些基础字符则不需要双引号包围