一.定义
JSON(JavaScript Object Notation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的、完全独立于语言文本格式,同时也具备类似于C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)体系的行为。这些特性使JSON成为理想的数据交换语言。
JSON基于JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。
二.格式
一个对象由一个大括号表示,括号里面,属性由一个个键值对来描述,可以理解为,括号里面是一个个键值对.
键值对之间使用等号连接,多个键值对使用逗号分隔
键值对的键需要用引号引住,没有引号,Java解析时会报错,js不会.
键值对的值可以是js中的任意数据类型
三.数组格式
在json格式中,可以在对象相互嵌套,数组中各个元素,可以是属性,可以是另外一个数组,也可以是另外一个对象
格式: [元素1,元素2.....]
四.json解析
1.Gson
将对象转化为json字符串
a.导入Gson的.jar包.
b.创建Gson对象
c.用Gson对象调用toJson(需要转化的对象),将需要转化的对象转化成字符串.
将json字符串转化为原来的对象
a.创建Gson对象
b.用Gson对象调用fromJson(json字符串,对象.class).把json字符串转化成对应的类.
例如
将Book类转化成json字符串,然后存储到文件中 .
然后通过IO流读取json字符串,将字符串转化为Book类
2.fastjson
将对象转化为json字符串
a.导入fastjson的.jar包.
b.直接使用JSON.toJson(对象),将对象转化为json字符串.
将json字符串转化为原来的对象
a.用Json.parseObject(json字符串,类.class)把json字符串转化成对应的类.
例如
将User类转化成json字符串,然后存储到文件中 .,然后通过IO流读取json字符串,将字符串转化为Book类
以上是自己学习json的笔记整理,希望能对大家有用,也希望大佬们多多指点我的不足.