01-Json基础
来源:互联网 发布:java heap space 原因 编辑:程序博客网 时间:2024/06/06 12:30
1、json简介(JavaScript Object Notation)
- json是完全独立于语言的文本格式、类似于xml文本格式。
- 是ECMAScript的一个子集,是一种轻量级的数据交换格式。
2、json与xml的区别
(1) xml的优缺点
优点:
1. 格式统一,符合标准
2. 扩平台、扩系统的数据交互,数据共享方便
缺点:
1. 文件庞大,格式发杂,占带宽较大
2. 客户端和服务器端都需要花大量资源和时间来解析xml,代码复杂不易维护
3. 客户端不同,浏览器之间解析xml方式也不一致,需要重复编写很多代码
(2) json的优缺点
优点:
1. 格式简单,占用带宽小
2. 客户端(JavaScript)解析简单
3. 支持多语言解析,简化服务器端与客户端之间的开发,易于维护
缺点:
1. 没有xml深入人心,也没有xml通用
2. json格式目前在WebService中推广还属于初级阶段
(3) json和xml的对比
1. 可读性方面
JSON和XML的数据可读性基本相同JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,XML可读性较好些
2. 可扩展性方面
XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的
3. 编码难度方面
XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了
4. 解码难度方面
XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说
5. 流行度方面
XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON,到时Ajax应该变成 Ajaj(Asynchronous Javascript and JSON)了
6. 解析手段方面
JSON和XML同样拥有丰富的解析手段
7. 数据体积方面
JSON相对于XML来讲,数据的体积小,传递的速度更快些
8. 数据交互方面
JSON与JavaScript的交互更加方便,更容易解析处理,更好的数据交互
9. 数据描述方面
JSON对数据的描述性比XML较差
10.传输速度方面
JSON的速度要远远快于XML
来源: http://www.cnblogs.com/SanMaoSpace/p/3139186.html
3、json语法
1 . json语法规则(json是JavaScript对象表示语法的子集)
数据在键值对中 —- key : value —- key和value都是在双引号中
数据由逗号隔开
花括号保存对象
方括号保存数组
2 . json属性名(键)规范
属性名应该有意义
驼峰命名法,ASCII码字符串
首字母不能是数字(只是规范,实际用引号括起来是可以的)
当一个属性有子属性,无属性值时,首字母大写
3 . json属性值(值)规范
数字(整数,浮点数)
字符串(双引号中)
Boolean值(true,false)
数组(方括号中)
对象(花括号中)
null
4 . 例子(以人为例)
{
“persons”:[
{“name”:”zhangsan”,”age”:20},
{“name”:”lisi”,age:25},
{“name”:”wangwu”,age:30}
]
}
5 . JavaScript获取json中的值
(两种方式:1. 点号获取,2. 方括号方式获取,支持字符串和索引数字)
4、json在线编辑工具
BeJson : http://www.bejson.com/
5、json的序列化与反序列化
以 java 为例,简单来说,所谓json的序列化就是将一个javaBean(或者pojo)序列化成一个Json的字符串,而反序列化则是将json串映射成一个javaBean。
// 比如:简单的例子// 1. 序列化private String name;private int age;// 序列化之后{name:"xxx",age:20}// 2. 反序列化将上面的顺序倒转一下
java中开源的json序列化和反序列工具:比如jackson,json-lib,Gson,fastJson等等, 以及他们之间的性能比较可以查阅相关文档。
- 01-Json基础
- JSON 基础
- JSON 基础
- JSON基础
- Json基础
- JSON基础
- json 基础
- json 基础
- JSON基础
- JSON基础
- JSON 基础
- json 基础
- JSON基础
- JSON基础
- JSON 基础
- json 基础
- JSON 基础
- json基础
- 关闭交互式服务检测(UI0Detect)
- hdu 1385 Minimum Transport Cost(判断字典序+输出路径)
- 3-9-模拟银行排队过程-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版
- 类的继承和接口实现
- socket编程学习(一)字节序
- 01-Json基础
- 生活相关的30个定律
- 联合体(union)的使用方法及其本质
- 【HDU】 4722 Good Numbers
- 网络协议
- 插补器Interpolator配图详解
- 本地文件无法复制到远程桌面
- 2-2HDFS的架构
- JVM参数最低标配说明