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\""},很麻烦啊。。。
———— 对于{}、[]这些基础字符则不需要双引号包围
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。