21、JSON
JavaScript Object Notation(JS对象简谱)是一种轻量级的数据交换格式。可以把对象中的一组数据转换为字符串,这样就很方便的可以在网络或程序之间使用。
对象用 {}, 数组用 []。
例如:这是两个大括号括起来的两个对象,第一个对象中有三个属性,每个属性都有对应的值。
每个对象都有相同的属性,属性类型为非数字,需要用引号阔住。
冒号前边写键,后边写值,表示这是一组属性。属性与属性之间用逗号分割。
再比如options属性,对应的值是一个数组对象,就需要先用[]阔住,逗号分割表示数组的不同对象,再用{}阔住,表示每个对象中的属性(套娃)。
{
"num": 1,
"title": "当你要外出一整天,你会",
"options": [
{
"title": "计划你要做什么和在什么时候做",
"score": "J"
},
{
"title": "说去就去",
"score": "P"
}
]
},
{
"num": 2,
"title": "你认为自己是一个",
"options": [
{
"title": "较为随兴所至的人",
"score": "P"
},
{
"title": "较为有条理的人",
"score": "J"
}
]
}
用法:
以Google的GSON为例,需要先获取对应的jar包并导入对应的IDE中。初始化GSON对象,再调用fromJson()方法转换为字符串对象。
Gson gson=new Gson();
//创建Gson实例
String str="[{"num":1,"titie":"aaa","options":[{"id":1,"scr":"C:/abc"},{"id":1,"scr":"C:/abc"}]},...]";
//通过io获取Json对象,将其转换为String对象str
List<A> la=gson.fromJson(str,new TypeToken<List<A>>(){}.getType());
//通过TypeToken反射获取对象的类型,并使用json工具将其转换为对应类型的数据。
2、包结构