我想将两个ObjectNode合并在一起,但具有最好的复杂性。我知道一种方法,我可以使用setAll方法,但它返回 JsonNode,因此我必须转换它。我为转换过程找到的最佳方法是如何将 JsonNode 转换为 ObjectNode。我认为这种转换一旦遍历 Json,也许我们可以找到更好的解决方案。
我认为的第二种方法是遍历第二个ObjectNode并使用put方法将第一个ObjectNode逐个添加但是这两种解决方案都有成本,合并的最佳方法是什么?
我想将两个ObjectNode合并在一起,但具有最好的复杂性。我知道一种方法,我可以使用setAll方法,但它返回 JsonNode,因此我必须转换它。我为转换过程找到的最佳方法是如何将 JsonNode 转换为 ObjectNode。我认为这种转换一旦遍历 Json,也许我们可以找到更好的解决方案。
我认为的第二种方法是遍历第二个ObjectNode并使用put方法将第一个ObjectNode逐个添加但是这两种解决方案都有成本,合并的最佳方法是什么?
我想我找到了最好的方法。基于如何在 Java 中修改 JsonNode?(将 JsonNode 转换为 ObjectNode)似乎我们可以轻松地将 JsonNode 转换为 ObjectNode,因此我认为下面的代码可以工作(我还没有测试):考虑我们有两个 JSON(JsonNode):
jsonNode json1;//initilized
jsonNode json2;//initilized
JsonNode mergedJson = ((JsonObject)json2).setAll(json1);
如果我们想将mergedJson视为JsonObject,我们可以再次合并并执行