java - 更新嵌套的 JsonNode 中的值

标签 java json

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

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

我已成功读取 JSON,但只能将新属性放在顶层,而不是更新 expiryDate.value属性(property):
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"))你得到 parent ,然后
  • put("value", "05-02-2020")更改嵌套节点的值

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

    关于java - 更新嵌套的 JsonNode 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59528605/

    相关文章:

    java - vaadin 8 FilesystemContainer 替代方案

    java - Spring AOP : Parameter passed as null for an interface with @Around aspect

    java - 如何删除重复值然后显示唯一值?

    python - 当查询结果超过一定数量时,Freebase + GoogleAPI 查询返回错误

    javascript - 基于脚本进度的动态进度条?

    java 。使用列信息在文件中写入矩阵。 (矩阵转置)

    java - 消费者/生产者问题 : pause production on slow consumption

    json - 如何使用不同的键从 JSON 中获取数据?

    php - Android:UTF-8 编码的 HttpPost JSON 字符串到 PHP

    javascript - 为什么javascript函数没有运行?