------------------------------------maven配置
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.6.2</version>
</dependency>
-------------------------------------解析json字符串:
{}包的是对象,[] 包的是数组,:左右两边分别是字段和值
------------------------------------解析数组,复杂的对象数组也是这样解析,只要最外层是[]:
//解析数组
String jsonArray = "[\"Android\",\"Java\",\"PHP\"]";
String[] strs=gson.fromJson(jsonArray, String[].class);
------------------------------------解析对象:
String strJson = "{\"students\":[{\"name\":\"Jack\",\"age\":12}, {\"name\":\"Vista\",\"age\":23}, {\"name\":\"Kaka\",\"age\":22}, {\"name\":\"Hony\",\"age\":31}]}";
StuResult students=gson.fromJson(strJson, StuResult.class);
Jsonreader解析代码:
public class JsonTest2 {
public static void main(String[] args) {
JsonReader reader=new JsonReader(new InputStreamReader(JsonTest2.class.getResourceAsStream("/pattern/newsinfo.json")));
//解析数组
ParamObj[] paramObjs=new Gson().fromJson(reader, ParamObj[].class);
System.out.println(paramObjs.length);
}
}
------------------------------------gson.toJson代码Demo
public class JsonTest3 {
public static void main(String[] args) {
Gson gson=new Gson();
List<String> list=new ArrayList<>();
list.add("aaa");
list.add("bbb");
Map<String, String> map=new HashMap<>();
map.put("a", "aaaa");
map.put("b", "bbbb");
People people=new People("bob","22",list);
System.out.println(gson.toJson(list));
System.out.println(gson.toJson(map));
System.out.println(gson.toJson(people));
}
}