我有一个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。我想念什么? 最佳答案
在将值推入ObjectNode
之前,需要创建成员节点。它只是在幕后将键/值保留在Map
中。
ObjectNode node = nodeFactory.objectNode();
node.set("D", buildArrayNode());
...
private ArrayNode buildArrayNode() {
// build your node here
ArrayNode arrayNode = nodeFactory.arrayNode();
arrayNode.add(...);
}