jackson将变量反序列化为Json字符串
我有这样的模型:
private String message; private Integer errorCode; private String data;
我从远程和消息中获取JSON字符串,errorCode变量获取正确的值。 但是,我不想反序列化到我的数据变量。 我希望它像一个json字符串:
{"cat": "1.2.3.4", "ner": "80", "name": "pinta" }
之后,我将反序列化它以反对自己。 我怎样才能做到这一点?
PS:澄清问题:
我得到一个类似的Json字符串:
{“data”:{“cat”:“1.2.3.4”,“ner”:“80”,“name”:“pinta”},“message”:“m”,“errorCode”:12}
反序列化后,我的变量应具有以下值:
message => "m" errorCode => 12 data => "{"cat": "1.2.3.4", "ner": "80", "name": "pinta" }"
jackson问题596是为原始问题中描述的所需function而创建的。 如果你想要它实现它投票。
当前可用的解决方案是实现自定义反序列化处理。
另外, 如何使用Jackson在对象中包含原始JSON? 线程涵盖了这个主题。
我宁愿建议你让数据绑定到一个中间对象; 通常这是java.util.Map
或org.codehaus.jackson.JsonNode
(JSON Tree)。 然后您可以以任何方式访问数据; 包括使用ObjectMapper.convertValue(inputPojo, outputType)
轻松转换为POJO。