Jackson将变量反序列化为Json String

kam*_*aci 18 java json jackson deserialization

我有一个这样的模型:

private String message;
private Integer errorCode;    
private String data;
Run Code Online (Sandbox Code Playgroud)

我从远程和消息中获取JSON字符串,errorCode变量获取正确的值.但是我不想反序列化到我的数据变量.我希望它是一个json字符串,如:

{"data": {"cat": "1.2.3.4", "ner": "80", "name": "pinta" }, "message" : "m", "errorCode" : 12}
Run Code Online (Sandbox Code Playgroud)

之后,我将反序列化它以反对自己.我怎样才能做到这一点?

PS:澄清问题:

我得到一个类似的Json字符串:

{"data":{"cat":"1.2.3.4","ner":"80","name":"pinta"},"message":"m","errorCode":12}

反序列化后,我的变量应具有以下值:

{"cat": "1.2.3.4", "ner": "80", "name": "pinta" }
Run Code Online (Sandbox Code Playgroud)

Sta*_*Man 10

我宁愿建议你让数据绑定到一个中间对象; 通常这是java.util.Map或者org.codehaus.jackson.JsonNode(JSON树).然后您可以以任何方式访问数据; 包括轻松转换为POJO使用ObjectMapper.convertValue(inputPojo, outputType)).


Pro*_*uce 9

杰克逊问题596是为原始问题中描述的所需功能而创建的.如果你想要它实现它投票.

当前可用的解决方案是实现自定义反序列化处理.

另外,如何使用Jackson在对象中包含原始JSON?线程涵盖了这个主题.