JavaでJsonNodeを変更するにはどうすればいいですか? 質問する

JavaでJsonNodeを変更するにはどうすればいいですか? 質問する

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.ge‌​tValue());

おすすめ記事