Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将JsonNodes数组链接到ArrayNode_Java_Json_Jackson - Fatal编程技术网

Java 将JsonNodes数组链接到ArrayNode

Java 将JsonNodes数组链接到ArrayNode,java,json,jackson,Java,Json,Jackson,我有一个ArrayNode,看起来像这样: [{ "A": "a", "B": "b", "C": "c" }] final ObjectNode jsonNode = nodeFactory.objectNode(); jsonNode.set(name) // name == "D", but method prototype is set(string, JsonNode) arrayNode.add(jsonNode); 我想手动添加JsonNodes的数组:

我有一个
ArrayNode
,看起来像这样:

[{
    "A": "a",
    "B": "b",
    "C": "c"
}]
final ObjectNode jsonNode = nodeFactory.objectNode();
jsonNode.set(name) // name == "D", but method prototype is set(string, JsonNode)
arrayNode.add(jsonNode);
我想手动添加
JsonNode
s的数组:

[{
    "A": "a",
    "B": "b",
    "C": "c",
    "D": [{
            "D": "d",
            "e": "e"
         }]
}]
我在考虑这样做:

[{
    "A": "a",
    "B": "b",
    "C": "c"
}]
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
之前,需要创建成员节点。它只是将键/值保留在
地图中
的幕后

ObjectNode node = nodeFactory.objectNode();
node.set("D", buildArrayNode());
...

private ArrayNode buildArrayNode() {
    // build your node here
    ArrayNode arrayNode = nodeFactory.arrayNode();
    arrayNode.add(...);
}