如何使用Jackson创建一个字符串的ObjectNode? p>
我试过了:
ObjectNode json = new ObjectMapper().readValue("{}", ObjectNode.class);
但是得到
线程中的异常" main" com.fasterxml.jackson.databind.JsonMappingException:属性的冲突setter定义" type":jdk.nashorn.internal.ir.Symbol #setType(1 params)vs jdk.nashorn.internal.ir.Symbol# setType(1 params)
我希望能够读取添加/修改某些值的JSON字符串。
答案 0 :(得分:3)
您使用了错误的导入。
应该是
com.fasterxml.jackson.databind.node.ObjectNode
不
jdk.nashorn.internal.ir.ObjectNode
答案 1 :(得分:2)
首先,错误消息表明您正在构建jdk.nashorn.internal.ir.ObjectNode
,而我猜测您实际上打算构建com.fasterxml.jackson.databind.node.ObjectNode
(对于Jackson 2.x)。检查你的进口。
但是,如果您只想构建一个空的ObjectNode
,那么只需使用
JsonNodeFactory.instance.objectNode()
如果由于某种原因你真的希望通过解析一个空的JSON对象来实现它,那么使用它:
ObjectNode json = (ObjectNode) new ObjectMapper().readTree("{}");
但这只是令人不快。