我有ArrayNode
看起来像这样:
[{
"A": "a",
"B": "b",
"C": "c"
}]
我想手动添加JsonNode
s:
[{
"A": "a",
"B": "b",
"C": "c",
"D": [{
"D": "d",
"e": "e"
}]
}]
我正在考虑做这样的事情:
final ObjectNode jsonNode = nodeFactory.objectNode();
jsonNode.set(name) // name == "D", but method prototype is set(string, JsonNode)
arrayNode.add(jsonNode);
问题是set
方法必须将JsonNode
作为第二个参数。我只想创建" D"键,以便之后链接其他JsonNodes。我错过了什么?
答案 0 :(得分:2)
在将值推入ObjectNode
之前,您需要创建成员节点。它只是将键/值保持在幕后的Map
中。
ObjectNode node = nodeFactory.objectNode();
node.set("D", buildArrayNode());
...
private ArrayNode buildArrayNode() {
// build your node here
ArrayNode arrayNode = nodeFactory.arrayNode();
arrayNode.add(...);
}