如何将键值插入到Java ArrayNode的元素中?

问题描述

这些是我要修改的json文件

{
    "realtime_start": "2020-11-08","realtime_end": "2020-11-08","observation_start": "2007-01-01","observation_end": "2018-01-01","observations": [
        {
            "realtime_start": "2020-11-08","date": "2007-01-01","value": "23.23"
        },{
            "realtime_start": "2020-11-08","date": "2007-02-01","value": "23.87"
        },"date": "2007-03-01","value": "23.13"
        }
}

我尝试将键和值插入ArrayNode的每个元素中。

{
        "realtime_start": "2020-11-08","observations": [
            {
                "id": "testId","realtime_start": "2020-11-08","value": "23.23"
            },{
                "id": "testId","value": "23.87"
            },"value": "23.13"
            }
    }

我使用JsonNode.get api提取ArrayNode,如下所示,并尝试插入值,

JsonNode nodeValue = mapper.readTree(new URL(tmpurl));  // returns the above json file
ArrayNode nodeValueObserv = (ArrayNode)nodeValue.get("observations");
nodeValueObserv.insert(0,"testId"));

但是结果生成不正确

{
        "realtime_start": "2020-11-08","observations": [
           "testId",{
                "realtime_start": "2020-11-08","value": "23.13"
            }
    }

请告知我如何使用java com.fasterxml.jackson.databind.node.ArrayNode API将键值放入ArrayNode的每个元素中。最好的问候。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)