Java 使用gson将json字段反序列化为纯字符串
我正在尝试将json对象反序列化为Javabean。 我面临的主要问题是,我希望将json字符串的字段Java 使用gson将json字段反序列化为纯字符串,java,gson,deserialization,Java,Gson,Deserialization,我正在尝试将json对象反序列化为Javabean。 我面临的主要问题是,我希望将json字符串的字段object视为普通字符串,即使它包含可能正确的json对象。 json结构如下所示: { "type":"user", "object":{ "id":"1", ...} } 如何告诉gson忽略对象值,使其不会反序列化到对象中?我只希望它被映射到我bean中的一个普通的String字段,这样,一旦我从type字段中获得类型,我就可以对它进行
object
视为普通字符串,即使它包含可能正确的json对象。
json结构如下所示:
{
"type":"user",
"object":{
"id":"1",
...}
}
如何告诉gson忽略
对象
值,使其不会反序列化到对象中?我只希望它被映射到我bean中的一个普通的String
字段,这样,一旦我从type
字段中获得类型,我就可以对它进行适当的反序列化 我不知道你的问题是否解决了。我遇到了一个类似的问题,下面是我是如何解决的:
JsonDeserializer允许您创建自己的适配器来反序列化该**:
class JavaBeanDeserializer implements JsonDeserializer<JavaBeanObject>() {
public JavaBeanObject fromJson(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
// return JavaBeanObject built using your logic.
}
只需将其声明为JsonObject类型
class ExampleJsonModel {
@SerializedName("type")
public String type;
@SerializedName("object")
public JsonObject object;
}
我设法对对象进行了部分反序列化,并查看了以下答案:没有尝试您的解决方案,但通过前面评论中的链接解决了此问题
class ExampleJsonModel {
@SerializedName("type")
public String type;
@SerializedName("object")
public JsonObject object;
}