fastjson
JSON简介
http://www.bejson.com/ 在线验证json正确性工具
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
//将json字符串转化为json对象
//在fastjson中是这么做的
JSONObject obj=JSON.parseObject(jsonStr);
fastjson.jar包原始下载地址:https://github.com/alibaba/fastjson
json数据格式
1、字符串
转义符
\\
反斜线本身;\/
正斜线;\"
双引号\b
退格;\f
换页;换行;
回车;
水平制表符;
\u
四位的十六进制数字。
2、数字
JSON 中不区分整型和浮点型,只支持使用 IEEE-754 双精度浮点格式来定义数字。此外,JSON 中不能使用八进制和十六进制表示数字,但可以使用 e 或 E 来表示 10 的指数。
IEEE-754 表示二进制浮点数算术标准,是 20 世纪 80 年代以来使用最广泛的浮点数运算标准。
3、布尔值
true
false
4、空
null
5、对象
JSON 中,对象由花括号{ }
以及其中的若干键/值对组成,一个对象中可以包含零个或多个键/值对,每个键/值对之间需要使用逗号,
分隔
6、数组
JSON 中,数组由方括号[ ]
和其中的若干值组成,值可以是 JSON 中支持的任意类型,每个值之间使用逗号,
进行分隔
例子
{
"array":[
{
"name":"C语言中文网",
"url":"http://c.biancheng.net/",
"course":"JSON教程"
},
[
"JSON是什么?",
"JSON语法规则",
"JSON数据类型"
],
"JSON",
18,
true
]
}
通过上面的示例可以看出,==JSON 中数组与对象不同==,对象是由若干键/值对组成,而数组则是由若干值构成的。数组中的值可以是 JSON 中的任意类型,在上面的示例中就分别使用了对象、数组、字符串、数字、布尔值等类型。
在 JSON 中使用数组时,有以下几点需要注意:
数组必须使用方括号
[ ]
定义;数组的内容由若干值组成;
每个值之间需要使用逗号
,
进行分隔;最后一个值末尾不需要添加逗号;
数组中的值可以是 JSON 中的任何类型,例如字符串、数字、对象、数组、布尔值、null 等。
序列化
序列化的对象为javabean
==(反射?)==
Last updated