Java Gson 基本用法(Json解析用)
程序员文章站
2024-03-16 08:39:16
...
一般用法
- 反序列化:解析Json
Gson gson = new Gson();
// 一般对象
TradeInfo trade = gson.fromJson("{\"id\":18, \"value\":\"xxxx\"}", TradeInfo.class);
System.out.println(trade.getValue());
// String对象
String str = gson.fromJson("{\"value\":\"xxxx\"}", String.class);
System.out.println(str);
// 整数对象
int i = gson.fromJson("{\"id\":18}", int.class);
System.out.println(i);
// 数组对象
String[] strs = gson.fromJson("[\"Android\",\"Java\",\"PHP\"]", String[].class);
System.out.println(strs);
// List对象,Gson提供了TypeToken来实现
List<String> strList = gson.fromJson("[\"Android\",\"Java\",\"PHP\"]", new TypeToken<List<String>>() {}.getType());
// TypeToken 的构造方法是protected修饰的,所以上面才会写成new TypeToken<List<String>>() {}.getType() 而不是 new TypeToken<List<String>>().getType()
- 序列化:生成Json
Gson gson = new Gson();
// 一般对象
TradeInfo trade = new TradeInfo(18, "xxxx");
String jsonStr = gson.toJson(trade);
// String对象
String jsonStr = gson.toJson("xxxx");
// 整数对象
int jsonStr = gson.toJson(18);
依赖包
<!-- pom.xml -->
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<!--
在Spring boot中已经有限定,不用设置version。
<version>2.2.8</version>
-->