Gson的使用

測試的pojo

public class User{
public String name;
public int age;
public Date date;
}

需求

1.當(dāng)pojo類中有int類型,但是前端獲得的json數(shù)據(jù)為age為空的情況下

String json="{\"name\":\"zhangsan\",\"age\":\"\"}";
Gson gson=new GsonBuilder().registerTypeAdapter(int.class, new JsonDeserializer<Integer>() {

            public Integer deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
                    throws JsonParseException {
                try {
                    return json.getAsInt();
                } catch (Exception e) {
                    return 0;
                }
            }
        }).create();
User user=gson.fromJson(json, User.class);
System.out.println(user.age);

2.序列化時為null值的輸出

User user=new User("zhangsan",60);
Gson gson=new GsonBuilder.serializeNulls().create();
System.out.println(json.toJson(user));

3.有時間參數(shù)序列化時格式化輸出

User user=new User();
user.date=new Date();
Gson gson=new GsonBuilder.setDateFormat("yyyy-MM-dd").create();
System.out.println(gson.toJson(user));

4.注解@SerializedName
為user類中的age添加

@SerializedName ("myAge")
public int age;

之后輸出Json數(shù)據(jù)

User user=new User();
user.age=10;
Gson gson=new Gson();
System.out.println(gson.toJson(user));

5.jsonBuilder配合@Expose,pojo添加這個標(biāo)簽標(biāo)示支持序列化和反序列化

User user=new User("zhangsan", 20);
user.date=new Date();
Gson gson=new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
System.out.println(gson.toJson(user));

pojo類中為

@Expose public String name

觀察結(jié)果發(fā)現(xiàn)只輸出了name:zhangsan。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 關(guān)于json,gson是最常用到的一個庫。平常使用時我通常使用Gson gson = new Gson();的方式...
    黑泥卡閱讀 10,509評論 1 14
  • Gson是一個可用于將Java對象轉(zhuǎn)換為JSON表示形式的Java庫。也可用于將JSON字符串轉(zhuǎn)換為等效的Java...
    畢丙偉閱讀 2,047評論 0 1
  • 1.注解插件ButterKnife Zelezny的使用與安裝 1.1.下載安裝 Settings——>Plugi...
    魏成閱讀 513評論 0 0
  • 1:toJson的用法(當(dāng)參數(shù)是bean對象時,將javabean轉(zhuǎn)換為json數(shù)據(jù)) bean文件為: 2:to...
    名字_都被占了閱讀 785評論 0 0
  • 讀書?讀什么書,第一。讀經(jīng)典第二讀小說,第三讀人物傳記讀書一定要善于思考,寫總結(jié),寫讀書筆記。
    梁金輝閱讀 272評論 0 0

友情鏈接更多精彩內(nèi)容