美文网首页
Gson的使用-4

Gson的使用-4

作者: 胖胖胖胖胖胖胖胖胖 | 来源:发表于2018-12-04 11:07 被阅读0次

简单自定义序列化

public class User {
    private static final String APPLICATION_USER = "USER";
    private String name;
    private int age;
    public class UserData{
        private int id;
        private String name;
}
}

JsonSerializer<User.UserData> jsonSerializer = new JsonSerializer<User.UserData>() {
            @Override
            public JsonElement serialize(User.UserData src, Type typeOfSrc, JsonSerializationContext context) {
                JsonObject jsonObject = new JsonObject();
                jsonObject.addProperty("id",src.getId());
                return jsonObject;
            }
        };
        GsonBuilder gsonBuilder = new GsonBuilder();
        gsonBuilder.registerTypeAdapter(User.class,jsonSerializer);

简单自定义反序列化

JsonDeserializer<User.UserData> jsonDeserializer = new JsonDeserializer<User.UserData>() {
            @Override
            public User.UserData deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
                int id = json.getAsInt();
                return 
            }
        }
        GsonBuilder gsonBuilder = new GsonBuilder();
        gsonBuilder.registerTypeAdapter(User.class,jsonderializer);

jsonAdapter()注解;

自定义序列化和反序列化的过程

public class MerchantListSerializer implements JsonSerializer<List<Merchant>> {  
    @Override
    public JsonElement serialize(List<Merchant> src, Type typeOfSrc, JsonSerializationContext context) {
        JsonArray jsonMerchant = new JsonArray();

        for (Merchant merchant : src) {
            jsonMerchant.add("" + merchant.getId());
        }

        return jsonMerchant;
    }
}

public class UserSubscriptionAnnotation {  
    String name;
    String email;
    int age;
    boolean isDeveloper;

    // new!
    @JsonAdapter(MerchantListSerializer.class)
    List<Merchant> merchantList;
}

相关文章

  • Gson用户使用文档

    1.概述2.Gson的目标3.Gson的性能和扩展性4.Gson的使用者5.如何使用Gson 通过Maven来使用...

  • Gson解析JSON

    1. 开始 构建maven项目 实体类 2. gson解析对象 3. gson反序列化 4、Gson高级使用 1、...

  • Gson的使用-4

    简单自定义序列化 简单自定义反序列化 jsonAdapter()注解; 自定义序列化和反序列化的过程

  • Andriod中Gson使用

    Gson使用 参考你真的会用Gson吗?Gson使用指南 在Android中使用Gson,先在Compile中加入...

  • Gson使用指南 2017-08-15

    Gson使用指南系列其它文章你真的会用Gson吗?Gson使用指南(一)你真的会用Gson吗?Gson使用指南(二...

  • gson的使用细节

    关于json,gson是最常用到的一个库。平常使用时我通常使用Gson gson = new Gson();的方式...

  • Android 库 Gson

    【Android 库 Gson】 引用: ★Gson 解析教程★★★ Gson的入门使用Gson全解析(上)-Gs...

  • 搞定 Android Gson 常用解析

    1 开始使用 https://github.com/google/gson 2 基本使用 3 对象解析 4 ...

  • Gson全解析(上)-Gson基础

    gson github地址google/gson 本篇文章是基于Gson官方使用指导(Gson User Guid...

  • Gson全解析(中)-TypeAdapter的使用

    gson github地址google/gson 本篇文章是基于Gson官方使用指导(Gson User Guid...

网友评论

      本文标题:Gson的使用-4

      本文链接:https://www.haomeiwen.com/subject/phcmcqtx.html