json解析:
1.json:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
其实就是一种数据格式:用于网络传输数据。
2.json:java来说:是String类型的字符串:具有一定格式的字符串
3.json的数据格式:存储的是就是名值对(无序)
单个对象:一个{}的数据,对应的就是一个JSONObject,--->Java的对象
{名:值,名:值}
一组对象:一个[]的数据,对应的就是一个JSONArray,--->List<对象>
[{},{},{}]
4.解析:将json字符串,转为需要的数据类型:java的对象,map,list。。。
5.如何解析:
A:json原生的解析:(代码叫复杂,但是很灵活)
B:谷歌的:Gson:
C:阿里巴巴:fast-json
6.注意事项:
1.原生的解析方式,要求javabean的类的属性,不一定和json中的key一致。
2.gson,fast-json,都要求json中的key必须和javabean中的属性名一致。
7.具体的步骤:
A:原生的
json数据
1){}
JSONObject jsonObject=new JSONObject(json);
从jsonObject.optXXX("key")-->value,java对象,map,
2)[]
JSONArray jsonArray = new JSONArray(json);
for(int i =0;i<jsonArray.length();i++){
JSONObject jsonObject =jsonArray.optJONSObject(i);
//
}
B:谷歌的:
Gson gson = new Gson();
1){}
XXX xxx = gson.fromJson(json,XXX.class);
2)[]
List<XXX> list = gson.fromJson(json,new TypeToken<List<XXX>>(){}.getType());
C:阿里巴巴的:
1){}
XXX xxx =JSON.parseObject(json,XXX.class);
2)[]
List<XXX> list = JSON.parseArray(json,XXX.class);
1.json:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
其实就是一种数据格式:用于网络传输数据。
2.json:java来说:是String类型的字符串:具有一定格式的字符串
3.json的数据格式:存储的是就是名值对(无序)
单个对象:一个{}的数据,对应的就是一个JSONObject,--->Java的对象
{名:值,名:值}
一组对象:一个[]的数据,对应的就是一个JSONArray,--->List<对象>
[{},{},{}]
4.解析:将json字符串,转为需要的数据类型:java的对象,map,list。。。
5.如何解析:
A:json原生的解析:(代码叫复杂,但是很灵活)
B:谷歌的:Gson:
C:阿里巴巴:fast-json
6.注意事项:
1.原生的解析方式,要求javabean的类的属性,不一定和json中的key一致。
2.gson,fast-json,都要求json中的key必须和javabean中的属性名一致。
7.具体的步骤:
A:原生的
json数据
1){}
JSONObject jsonObject=new JSONObject(json);
从jsonObject.optXXX("key")-->value,java对象,map,
2)[]
JSONArray jsonArray = new JSONArray(json);
for(int i =0;i<jsonArray.length();i++){
JSONObject jsonObject =jsonArray.optJONSObject(i);
//
}
B:谷歌的:
Gson gson = new Gson();
1){}
XXX xxx = gson.fromJson(json,XXX.class);
2)[]
List<XXX> list = gson.fromJson(json,new TypeToken<List<XXX>>(){}.getType());
C:阿里巴巴的:
1){}
XXX xxx =JSON.parseObject(json,XXX.class);
2)[]
List<XXX> list = JSON.parseArray(json,XXX.class);