JSON
JSON 是一种轻量级易与解析的数据格式,它按照 js 的对象和数组的字面
量格式来书写。现在 JSON 的光环已经逐渐超越了 XML,各大网站提供的数据
接口一般都是 JSON。
JSON 是存储和交换文本信息的语法,类似XML。
JSON 采用完全独立于语言的文本格式,也使用了类似于 C 语言家族的习惯(包括 C, C++,
C#, Java, JavaScript, Perl, Python…)这些特性使 JSON 成为理想的数据交换语言。
JSON 是一个新的人类可读( human readable)的数据格式,在过去几年中已变得非常受欢迎,尤其是在 web 开发中
基本类型
{
"name": " 张三 ",
"age": 18,
"sex": true
}
数组类型
[
{
"name":
" 张三 ",
"age":
18,
"sex":
true
},
{
"name":
" 李四 ",
"age":
19,
"sex":
false
}
]
对象嵌套
{
"name":
"teacher",
"computer":
{
"CPU": "intel7",
"disk": "512G"
},
"students":
[
{
"name": " 张三 ",
"age": 18,
"sex": true
},
{
"name": " 李四 ",
"age": 19,
"sex": false
}
]
}
解析方式
使用 gson,Gson是一个Google提供的一个Java库,可用于将Java对象转换为JSON表示。它也可以被用来将 JSON 字符串转换成一个等效的 Java 对象。
Gson的节点对象:
JsonElement : 所有的节点都是 JsonElement 对象.
JsonPrimitive : 基本的数据类型的节点对象, JsonElement 的子类.
JsonNull : 代表空节点对象,即有 key,value 为空,JsonElement 的子类.
JsonObject : 对象数据类型的节点对象, JsonElement 的子类.
JsonArray : 数组数据类型的节点对象, JsonElement 的子类
JsonElement的取值
JsonPrimitive : value的取值对应 java 的
int,double,float,long,short,boolean,char,byte,String,BigDecimal,BigI
nteger,Number
JsonObject : value 的取值对应 java 的 Object 对象.
JsonArray : value 的取值对应 java 的 List 及其子类对象.
使用 fastjson,阿里巴巴 fastJson 是一个 Json 处理工具包,包括“序列化”和“反序列化”两部分。