且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

无法使用Java Jackson来更新JSON文件

更新时间:2023-01-16 11:28:55

您丢失了对根JsonNode的引用.您需要保留对根节点的引用.另外,在for-each循环之后写结果:

You lost reference to root JsonNode. You need to keep reference to root node. Also, write the result after for-each loop:

ObjectMapper objectMapper = new ObjectMapper();
JsonNode root = objectMapper.readTree(json);
JsonNode steps = root.get("steps");
if (steps.isArray()) {
    for (final JsonNode item : steps) {
        if (item.findPath("stepId").asText().equals("1")) {
            ((ObjectNode) item).put("object", "Firefox");
        }
    }
    String resultJson = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(root);
    System.out.println(resultJson);
}