Gson用法
记录下最近对Gson的使用方法,待完善。。
?
1. 创建一个Gson对象
Gson gson = new GsonBuilder().serializeNulls().create();
serializeNulls():序列化null值字段,因为Gson默认不序列化空值:
Configure Gson to serialize null fields. By default, Gson omits all fields that are null during serialization.
?
2. 解析示例
String str = "{"apple":{"weight":12,"color":"red"},"people":{"name":"xiaoming","age":18}}"?
方法一: 解析成JSONObject形式
JsonObject o = gson.fromJson(str, JsonObject.class);
JsonElement element = o.get("people");
JsonElement element1 = o.get("apple");
People people1 = gson.fromJson(element, People.class);
Apple apple1 = gson.fromJson(element1, Apple.class);?
方法二:解析成新JavaBean
新建JavaBean:BianTai.java
注意:如果JavaBean的字段名与Json字符串的键名不一样需要@SerializedName("json键名")来指定值的反序列化
@Data
@ToString
public class BianTai {
private Apple apple;
@Data
private static class Apple{
private Integer weight;
private String color;
}
private People people;
@Data
private static class People{
private String name;
private Integer age;
}
}直接解析成BianTai
BianTai bianTai = gson.fromJson(str, BianTai.class);
结果
BianTai(apple=BianTai.Apple(weight=12, color=null), people=BianTai.People(name=xiaoming, age=18))
相关推荐
SXIAOYI 2020-09-16
SXIAOYI 2020-06-11
yinbaoshiguang 2020-06-09
Chydar 2020-06-02
nalanrumeng 2020-06-01
xiaonuoyal 2020-06-01
nalanrumeng 2020-05-19
ITprivate 2020-04-15
xiaonuoyal 2020-04-14
ITprivate 2020-03-26
ITprivate 2020-02-12
nalanrumeng 2020-01-13
xiaonuoyal 2019-12-07
xiaonuoyal 2019-11-18
TOmyhonour 2019-11-16
csdnxpw 2019-11-12