如何在Java中使用Gson实现自定义JsonAdapter?

 @JsonAdapte ř注释可以在现场或类级别用于指定GSON。该TypeAdapter类可用于Java对象转换为从JSON。默认情况下,Gson库通过使用内置类型适配器将应用程序类转换为JSON,但是我们可以通过提供自定义类型适配器来覆盖它。

语法

@Retention(value=RUNTIME)

@Target(value={TYPE,FIELD})

public @interface JsonAdapter

示例

import java.io.IOException;

import com.google.gson.Gson;

import com.google.gson.TypeAdapter;

import com.google.gson.annotations.JsonAdapter;

import com.google.gson.stream.JsonReader;

import com.google.gson.stream.JsonWriter;

public class JsonAdapterTest {

   public static void main(String[] args) {

      Gson gson = new Gson();

      System.out.println(gson.toJson(new Customer()));

   }

}

//客户分类

class Customer {

   @JsonAdapter(CustomJsonAdapter.class)

   Integer customerId = 101;

}

//CustomJsonAdapter类

class CustomJsonAdapter extends TypeAdapter<Integer> {

   @Override

   public Integer read(JsonReader jreader) throws IOException {

      return null;

   }

   @Override

   public void write(JsonWriter jwriter, Integer customerId) throws IOException {

      jwriter.beginObject();

      jwriter.name("customerId");

      jwriter.value(String.valueOf(customerId));

      jwriter.endObject();

   }

}

输出结果

{"customerId":{"customerId":"101"}}

以上是 如何在Java中使用Gson实现自定义JsonAdapter? 的全部内容, 来源链接: utcz.com/z/350150.html

回到顶部