Java-Gson无法即时定义对象

Gis*_*nas 1 java json gson

我不想定义一个额外的类型只是为了进行json转换。我使用的库需要一个对象作为输入,然后对该数据执行http操作,因此无法使用硬编码的json字符串作为输入。

private static final Gson GSON = new Gson();

public static void main(String[] args) {
  System.out.println(GSON.toJson(new Object() {
    private String email_address = "me@mail.eu";
    public String getEmail_address() {return "me@mail.eu"; }
    public void setEmail_address(String mail) {email_address = mail; }
  }));    
}
Run Code Online (Sandbox Code Playgroud)

我试图删除getter和setter或离开getter并删除字段,但是它不起作用。有人知道如何解决这个问题吗?

NiV*_*VeR 5

像Gson这样的用于Json序列化/反序列化的库,都依赖于您定义了自定义对象的事实,您将在该对象上映射json字符串。这是因为它们在类上使用反射来将字段与json中的对应键进行映射。没有它,他们很难实现任何事情(可用)。