Java 如何使用Jackson框架获取所有json节点的计数

Java 如何使用Jackson框架获取所有json节点的计数,java,web-services,jackson,Java,Web Services,Jackson,这是我的user.json { "id":1, "name":{ "first":"Yong", "last":"Mook Kim" }, "contact":[ { "type":"phone/home", "ref":"111-111-1234" }, { "type":"phone/wor

这是我的user.json

{  
    "id":1,
    "name":{  
        "first":"Yong",
        "last":"Mook Kim"
    },
    "contact":[  
        {  
            "type":"phone/home",
            "ref":"111-111-1234"
        },
        {  
            "type":"phone/work",
            "ref":"222-222-2222"
        }
    ]
},
{  
    "id":2,
    "name":{  
        "first":"minu",
        "last":"Zi Lap"
    },
    "contact":[  
        {  
            "type":"phone/home",
            "ref":"333-333-1234"
        },
        {  
            "type":"phone/work",
            "ref":"444-444-4444"
        }
    ]
}
我想数一数里面有多少json对象。例如,上面的json有两个json对象id=1和id=2

//tree model approach
ObjectMapper mapper = new ObjectMapper();    
JsonNode rootNode = mapper.readTree(new File("user.json"));    
List<JsonNode> listOfNodes = rootNode.findParents("first");
System.out.println(listOfNodes.size());
//树模型方法
ObjectMapper mapper=新的ObjectMapper();
JsonNode rootNode=mapper.readTree(新文件(“user.json”);
List listOfNodes=rootNode.findParents(“第一”);
System.out.println(listOfNodes.size());
给我1号

你能告诉我我做错了什么吗


谢谢

您的java代码是正确的,但json文件无效。 Jackson只解析第一个有效元素(“Yong”)


要解决这个问题,只需在文件开头添加
[
,在文件末尾添加
]
(使其成为数组)

我看到8个
{
/
}
对,这意味着8个JSON对象。和2个JSON数组。。另外,这不是有效的JSON,因为有两个对象用逗号分隔,所以需要在整个对象周围使用
[
/
]
对,使其成为3个JSON数组。我想要id=2的“first”值。谢谢Maciej。有时小事情会被忽略。我在开头和结尾都加了[现在已经修好了]。