Java 将Gson嵌套对象映射到其他名称
我有一个Java类,它有:Java 将Gson嵌套对象映射到其他名称,java,serialization,gson,deserialization,Java,Serialization,Gson,Deserialization,我有一个Java类,它有: private String rgStatus; private RGDepLimit rGDepLimit ; 我使用Gson对JSON对象进行序列化/反序列化。它很好用。我的问题是,我试图用不同的名称序列化对象字段rGDepLimit。我试图使用@SerializedName(“theNewName”): 但它总是序列化为rGDepLimit字段的null值 输出样本 1-不带@SerializedName(“theNewName”) 2-使用@Serializ
private String rgStatus;
private RGDepLimit rGDepLimit ;
我使用Gson对JSON对象进行序列化/反序列化。它很好用。我的问题是,我试图用不同的名称序列化对象字段rGDepLimit
。我试图使用@SerializedName(“theNewName”)
:
但它总是序列化为rGDepLimit
字段的null
值
输出样本
1-不带@SerializedName(“theNewName”)
2-使用@SerializedName(“theNewName”)
rGDepLimit
方法中的rGDepLimit
可以为null。同时,“theNewName”
键也存在srgdeplimit不为null且“theNewName”不存在我的观点是Gson还查看getter和setter。Gson既不使用getter,也不使用setter。在序列化之前,请确保您的rGDepLimit
不为null
@SerializedName
应该可以正常工作。rGDepLimit
可以从getRGdepLimit
方法中为null。同时,“theNewName”
键也存在srgdeplimit不为null且“theNewName”不存在我的观点是Gson还查看getter和setter。Gson既不使用getter,也不使用setter。在序列化之前,请确保您的rGDepLimit
不为null
@SerializedName
应该可以正常工作。
private String rgStatus;
@SerializedName("theNewName")
private RGDepLimit rGDepLimit ;
{...,"rGDepLimit ":{"value":9900000,"currency":"GBP","rgStatus":"ACTIVE","requestedTimeStamp":"1485936564000"}}
{...,"rGDepLimit ":null}