我需要在 Java 中更改 JSON 属性的值,我可以正确获取该值,但无法修改 JSON。
这是下面的代码
JsonNode blablas = mapper.readTree(parser).get("blablas");
for (JsonNode jsonNode : blablas) {
String elementId = jsonNode.get("element").asText();
String value = jsonNode.get("value").asText();
if (StringUtils.equalsIgnoreCase(elementId, "blabla")) {
if(value != null && value.equals("YES")){
// I need to change the node to NO then save it into the JSON
}
}
}
做这个的最好方式是什么?
JsonNode
是不可变的,用于解析操作。然而,它可以被投射到ObjectNode
(and ArrayNode
)允许突变:
((ObjectNode)jsonNode).put("value", "NO");
对于数组,您可以使用:
((ObjectNode)jsonNode).putArray("arrayName").add(object.getValue());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)