JSON:JavaScript Object Notation,JavaScript对象表示方法,和XML类似,用于存储和交换文本信息。
1、JSON含义
JSON是轻量级的文本数据交换格式;
JSON独立于语言;
JSON具有描述性,易于理解。
JSON示例:
{"orders":[ {"orderId":"1", "itemName":"苹果", "产地":{ "省":"海南", "市":"海口", "详细地址":"海口市市中区35号" } }, {"orderId":"2", "itemName":"香蕉" } ] }
2、JSON和XML的比较
a、都可以进行数据传输
b、JSON是纯文本,XML用标签定义;json数据更小
c、JSON可以进行自我描述,可读性更好
d、JSON读写速度更快
e、JSON可以直接使用JavaScript的eval()方法进行解析
3、JSON语法
a、数据以 key/value 的形式存储,以 : 进行映射
"name":"Lily"
b、两组数据之间用 , 分割
"name":"Lily","age":18
c、花括号保存对象
{"name":"Lily", "addr":{ "country":"China", "city":"beijing" }}
d、方括号保存数组
{ "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] }
4、其他数据传输格式
protobug:google内部使用、支持并开源的开源序列化框架
Thrift:Facebook开发的一个跨语言的轻量级RPC消息和数据交换框架
5、几种常用JSON库
Gson,FastJson,Jackson,Json-lib
参考资料:
1、JSON中文官网 http://www.json.org/json-zh.html
2、w3cschool-json : http://www.w3school.com.cn/json/json_eval.asp
3、oschina-json格式化工具: http://tool.oschina.net/codeformat/json
4、json.cn : http://www.json.cn/json/wiki.html
5、protobuf,json,xml,binary,Thrift之间的对比 : http://blog.sina.com.cn/s/blog_406127500102uy6e.html
6、几种常用JSON库性能比较 : http://blog.csdn.net/vickyway/article/details/48157819