如何使用Java foreach json或对象数据

时间:2018-11-02 08:06:12

标签: java json

我从Web服务获得这样的回报:

Object result = envelope.getResponse();

然后返回就是这样

[{"nom":"Nexus09","poste":"4319"},{"nom":"Nexus08","poste":"4312"},{"nom":"Nexus07","poste":"4306"}]

我需要计算结果以获取每个{"nom":"Nexus09","poste":"4319"}的“ nom”和“ poste”

THX

2 个答案:

答案 0 :(得分:1)

使用enter image description here Jar,

public static void main(String[] args) {
    String input="[{\"nom\":\"Nexus09\",\"poste\":\"4319\"},{\"nom\":\"Nexus08\",\"poste\":\"4312\"},{\"nom\":\"Nexus07\",\"poste\":\"4306\"}]";

    JSONArray jsonArray = new JSONArray(input); 

    jsonArray.forEach(j->System.out.println(j.toString()));     

}

要解析嵌套的JSONObject,可以像下面这样进行

public static void main(String[] args) {
    String input="[{\"nom\":\"Nexus09\",\"poste\":\"4319\"},{\"nom\":\"Nexus08\",\"poste\":\"4312\"},{\"nom\":\"Nexus07\",\"poste\":\"4306\"}]";

    JSONArray jsonArray = new JSONArray(input);         

    for(Object object:jsonArray) {
        if(object instanceof JSONObject) {
            JSONObject jsonObject = (JSONObject)object;

            Set<String> keys =jsonObject.keySet();
            for(String key:keys) {
                System.out.println(key +" :: "+jsonObject.get(key));;
            }               
        }
    }

}

答案 1 :(得分:0)

这是循环遍历JSON数组并获取所有键值对的代码。 这应该起作用。

希望有帮助。

代码:

Iterator<String> keys = json.keys();

while (keys.hasNext()) {
    String key = keys.next();
    System.out.println("Key :" + key + "  Value :" + json.get(key));
}
for(JSONObject json : result)
{
    Iterator<String> keys = json.keys();
    while (keys.hasNext()) {
        String key = keys.next();
        System.out.println("Key :" + key + "  Value :" + json.get(key));
    }
}