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
}
}
}
これを行う最善の方法は何ですか?
ベストアンサー1
JsonNode
は不変であり、解析操作を目的としています。ただし、変更を許可するObjectNode
(および)にキャストできます。ArrayNode
((ObjectNode)jsonNode).put("value", "NO");
配列の場合は、以下を使用できます。
((ObjectNode)jsonNode).putArray("arrayName").add(object.getValue());