【发布时间】:2022-11-11 08:01:27
【问题描述】:
我正在尝试将一个空节点设置为其他一些 json 节点的值。 new JsonNode() 没有工作,因为它受到保护。
例子:
JsonNode jsonNode = externalSource(); // <--This is the parent json node
((ObjectNode) jsonNode).set("fieldName", new JsonNode()); // <-- I want to replace the existing
// value of fieldName with an empty one
这目前不起作用。
我们有什么特别的方法可以做到这一点吗?
【问题讨论】:
-
你好,到目前为止你试过了吗?
ObjectNode node = mapper.createObjectNode();还有你的意思是它没有工作? -
构造函数不是公共的,它是受保护的。所以客户端不能直接使用它来实例化
JsonNode。它只能由扩展JsonNode类的子类使用。 -
为避免误解,您有一个已经存在的 jsonnode,并且您想向其中添加一个新字段,例如
"empty": {}? -
我想我找到了解决方案。可以使用对象映射器的
getNodeFactory然后textNode(...)等来创建JsonNodes