首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试遍历JsonNode,但根jsonNode正在复制数据

尝试遍历JsonNode,但根jsonNode正在复制数据
EN

Stack Overflow用户
提问于 2017-07-27 02:25:38
回答 1查看 557关注 0票数 1

我正在尝试遍历Jsonnode,但是根jsonNode正在复制数据。试图找出但不确定我遗漏了什么问题。我将尝试在下面解释这个问题。

我得去看杰克逊的API。

Json块是:

{“查询”:[

代码语言:javascript
复制
                    {
                        "id": "keyword",
                        "values": [
                            "test"
                        ]
                    },{
                        "id": "include",
                        "values": [
                            false
                        ]
                    }
                ]
            }

我的Java代码块是迭代器fieldNames = root.fieldNames();while (fieldNames.hasNext()) {

代码语言:javascript
复制
            String fieldName = fieldNames.next(); 
            if (fieldName.equalsIgnoreCase("queries")) { 
                nameNode =root.get(fieldName);
            }

            JsonNode nameNode = root.get("queries");



            for (JsonNode node : nameNode) {
                JsonNode elementId =  node.path("id").asText();

                    if (!elementId.isEmpty() && elementId.equalsIgnoreCase("include")) {
                        check = true;
                        include = node;
                    }
                }

    When debug comes to line    for (JsonNode node : nameNode) { , node value is "id": "keyword", "values": [ "test" ] and nameNode is the json shown above but when it comes to next line which is " node.path("id").asText();"

nameNode变量追加"id":“关键字”,“值”:“测试”2次。

现在,json是原始的json,添加了2次"id":"keyword","values":“concurrentModificationException”,并给出了测试。

EN

回答 1

Stack Overflow用户

发布于 2017-07-27 06:04:07

将变量节点更改为objNode,因为节点在jackson中可能是预定义的值,您也可以尝试将每个变量设置为final

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45334769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档