第一种:解析json数组成java对象数组
1.json字符串
[
{
"address": "中国",
"age": 30,
"name": "小明",
"sex": "boy"
},
{
"address": "加拿大",
"age": 20,
"name": "小雨",
"sex": "girl"
}
]
2.java实体类
public class Bean {
public String name;
public int age;
public String sex;
public String address;
}
3.解析过程
Gson gson = new Gson();//创建Gson对象
JsonParser jsonParser = new JsonParser();
JsonArray jsonElements = jsonParser.parse(strJson).getAsJsonArray();//获取JsonArray对象
ArrayList<Bean> beans = new ArrayList<>();
for (JsonElement bean : jsonElements) {
Bean bean1 = gson.fromJson(bean, Bean.class);//解析
beans.add(bean1);
}
第二种:解析json字符串为Java对象
1.json字符串
{
"address": "加拿大",
"age": 20,
"name": "小雨",
"sex": "girl"
}
2.java实体类
public class Bean {
public String name;
public int age;
public String sex;
public String address;
}
3.解析过程
String json = "{\n" +
" \"rst\": 0,\n" +
" \"msg\": \"ok\",\n" +
" \"data\": {\n" +
" \"cookie\": \"JSESSIONID=abcntKeuJhop56LGykfdw\"\n" +
" }\n" +
"}";
JsonObject jsonObject = (JsonObject) new JsonParser().parse(json);
System.out.println("rst:" + jsonObject.get("rst").getAsInt());
System.out.println("msg:" + jsonObject.get("msg").getAsString());
System.out.println("data:" + jsonObject.get("data").getAsJsonObject().get("cookie").getAsString());
第三种:直接获取json字符串属性
{"data":"hello"}
String radius = jsonObject.get("data").toString();