java – 使用GSON将POJO序列化为不同名称的JSON?

我有一个像这样的POJO,我使用GSON序列化为JSON

public class ClientStats {

    private String clientId;
    private String clientName;
    private String clientDescription;

    // some more fields here


    // getters and setters

}

我是这样做的:

ClientStats myPojo = new ClientStats();

Gson gson = new Gson();
gson.toJson(myPojo);

现在我的json将是这样的:

{"clientId":"100", ...... }

现在我的问题是:有没有什么方法可以为clientId提出我自己的名字而不是更改clientId变量名?在Gson中是否有任何注释我可以在clientId变量的顶部使用?

我想要这样的东西:

{"client_id":"100", ...... }

解决方法:

你可以使用@SerializedName(“client_id”)

public class ClientStats {

    @SerializedName("client_id")
    private String clientId;
    private String clientName;
    private String clientDescription;

    // some more fields here


    // getters and setters

}

编辑:

您也可以使用它,它以通用方式更改所有字段

Gson gson = new GsonBuilder()
    .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
    .create()
上一篇:java-使用Gson将Json解析为具有通用字段的项目列表


下一篇:java – 用变量键解析json