我正在尝试将嵌套JsonObject中的expiryDate变量更新为当前日期,JSON的结构如下:

{
    "expiryDate" : {
        "type" : "String",
        "value" : "31-12-2019"
    }
}


我已经成功读取了JSON,但是只能将new属性放在顶层,而不是更新expiryDate.value属性:

JsonNode data = new ObjectMapper().readTree(dataString);
String expiryDate = data.get("expiryDate").get("value").textValue();
((ObjectNode) data).put("05-02-2020");


如何更新嵌套属性?

最佳答案

您可以使用 :

JsonNode data = new ObjectMapper().readTree(dataString);
((ObjectNode) data.get("expiryDate")).put("value", "05-02-2020");


哪里:


((ObjectNode) data.get("expiryDate"))你得到父母,然后
put("value", "05-02-2020")更改嵌套节点的值


输出量

{"expiryDate":{"type":"String","value":"05-02-2020"}}

09-11 05:20