【问题标题】:Gson: how to ignore @SerializeName when serializingGson:序列化时如何忽略@SerializeName
【发布时间】:2014-05-29 04:30:25
【问题描述】:

我有这样的课

public class Person()
{
    @SerializedName("c")
    public String name;
    @SerializedName("i")
    public int id;
}

我可以在不删除注释的情况下以保留字段名称而不是序列名称的方式对其进行序列化吗?

我无法更改类声明,因为这些注释用于序列化到数据库,我想制作这些对象的可读字符串以进行调试。

例如:{"name":"Mark","id":0} 而不是 {"c":"Mark","i":0}

【问题讨论】:

    标签: java json serialization gson


    【解决方案1】:

    只需删除@SerializedName("c")。默认情况下,它应该是序列化后的 'name'。

    在此处查看说明和示例:http://google-gson.googlecode.com/svn/tags/1.2.3/docs/javadocs/com/google/gson/annotations/SerializedName.html

    这似乎正是你的情况。

    如果不应该编辑数据文件,正如作者在问题更新中所建议的那样,另一种解决方案可以是通过Java反射更改或删除@SerializedName("c")注解,这里有详细描述:@ 987654322@

    【讨论】:

    • 我编辑了我的问题,我无法更改类声明,因为它用于序列化到数据库,我想制作这些对象的可读字符串以进行调试。
    • 那么您可能想通过反射更改或删除注释stackoverflow.com/questions/14268981/…
    猜你喜欢
    • 2021-05-26
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    • 2021-08-25
    • 2016-06-23
    相关资源
    最近更新 更多