(1)Json数据的基本格式
—-对象:{“键”: 各种类型的值},
—-值:可以是整数-1、字符串-””、数组-[各种同类型的值]、对象{各种值}
{
"item1": 12,
"item2": "1234",
"item3": [
1,
2,
3,
4,
5,
6
],
"item4": {
"iitem1": 12,
"iitem2": 5,
"iitem3": [
1,
2,
3,
4,
5
]
}
}
(2)怎么解析json数据
一般情况下json数据都是字符串的形式,
使用JsonObject来解析json数据
String json = ""; //json数组为上述json对象
JsonObject jsonObject = new JsonObject(json);
Int item1 = jsonObject.getInt("item1");
String item2 = jsonObject.getString("item2");
JsonArray item3 = jsonObject.getJsonArray("item3");
JsonObject item4 = jsonObject.getJsonObject("item4");
Item4.getInt("iitem1");
Item4.getJsonArray("iitem3");
通过相应的格式获取到对应的json格式数据之后,就可以进行基本的操作了,简单的数据类型可以直接拿到值,如果是获取的是与对象相关的数据,可以使用Gson。
1)直接转换成单个对象
Gson gson = new Gson();
Student student = gson.fromJson(json,Student.class);
2)转换成List形式 例如:List
Gson gson = new Gson();
TypeToken<List<Student>> typeToken =
new com.google.gson.reflect.TypeToken<List<Student>>(){};
List<Student> students = gson.fromJson(json,typeToken.getType());
3)转换成Map形式 例如 Map
Gson gson = new Gson();
TypeToken<Map<String,Student>> typeToken =
new com.google.gson.reflect.TypeToken<Map<String,Student>>(){};
Map<String,Student> students =
gson.fromJson(json,typeToken.getType());