[英]Jackson serialize Object to JSON to base64 (without endless loop)
[英]Serialize object to JSON without a root key in Jackson
我使用Jackson来序列化Java中的对象。 我建立了一个对象,现在我想要一个“无根” JSON,例如:
{
"requestHeader": {
"specVersion":"1.2",
"customerId":"123123"
},
"someThingElse": "123"
}
在这里, requestHeader
和someThingElse
位于同一根级别。
使用此代码,我被迫设置一个密钥:
import com.fasterxml.jackson.databind.ObjectMapper;
...
ObjectNode response = mapper.createObjectNode();
response.set("unwantedRootKey", data);
这导致了我不需要的额外根级别。
{
"unwantedRootKey": {
"requestHeader": {
"specVersion":"1.2",
"customerId":"123123"
},
"someThingElse": "123"
}
}
我该如何以串行方式添加数据,从而可以说不是创建树而是创建森林? (我可以将最后一个字符串切碎,但是...)
感谢Marc B的评论,我尝试了显而易见的方法:只需在根级别设置多个条目即可:
ObjectMapper mapper = new ObjectMapper();
ObjectNode response = mapper.createObjectNode();
response.set("requestHeader", mapper.valueToTree(data.getRequestHeader()));
response.set("someThingElse", mapper.valueToTree(data.getSomethingElse()));
今天我太困了,错过了只看树的森林。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.