如何使用Java为多个类反序列化一个JSON对象

时间:2016-12-27 18:24:40

标签: java json serialization deserialization

我是JSON反序列化内容的新手。我有多个使用相同JSON字符串的类。

JSON看起来像这样:

"part1": {
    "part2": {
      "part3": {
        "value": [Some Integers]
      }
    }
}

以下是我的反序列化代码:

public class ConfirmationDeserializer extends JsonDeserializer<Confirmation_A>
{
    @Override
    public Confirmation deserialize(JsonParser parser, DeserializationContext context)
            throws IOException, JsonProcessingException
    {
        JsonNode node = parser.getCodec().readTree(parser);
        JsonNode Part3_Node = node.get("part2").get("part3");
        Integer value = Part3_Node.get("value").intValue();
        int some_class = new Some_class(value);

        #Return response class
        return new Confirmation_A(some_class);
    }
}

问题是我有Confirmation_A,Confirmation_B和Confirmation_C(它们都扩展了相同的抽象父类),它们都使用相同的JSON字符串并具有相同的参数(some_class)。如果我创建三个反序列化器实际上使用完全相同的代码并返回不同的响应类,那将是多余的。是否可以为所有这三个类创建一个反序列化器?提前致谢。

0 个答案:

没有答案