Json 是否使用jackson属性重新设置键的值?

Json 是否使用jackson属性重新设置键的值?,json,jackson,Json,Jackson,我正在使用Jackson,我想替换json字符串的一个值,但我不确定该如何做。 我有一个json字符串,如: "body": { "name": "oldname", "label": "1234"} 我想将name的值更改为类似于json的值: "body": { &qu

我正在使用Jackson,我想替换json字符串的一个值,但我不确定该如何做。 我有一个json字符串,如:

        "body": {
            "name": "oldname",
            "label": "1234"}
我想将name的值更改为类似于json的值:

        "body": {
            "name": "newname",
            "label": "1234"}
因此,我:

JsonNode parser = objectMapper.readTree(reader);
JsonNode body = parser.path("body");
String newName = "newname";
使用

body.path("name").asText().replace("oldname","newname");
它不起作用

我该怎么做呢?

你可以这样做:((ObjectNode)body.put(“name”,newName)

  • body.path(“name”).asText().replace(“oldname”、“newname”)

  • 在这里,您只需替换asText()方法返回的字符串上的操作。它不会修改我们的输入json

    ObjectMapper ObjectMapper=新的ObjectMapper(); JsonNode parser=objectMapper.readTree(json); JsonNode body=parser.path(“body”); 字符串newName=“newName”

    ((ObjectNode)body.put(“name”,newName); //body.path(“name”).asText().replace(“name”、“newname”)

    系统输出打印项次(正文)

进一步案文: