我从Web服务获得这样的回报:
Object result = envelope.getResponse();
然后返回就是这样
[{"nom":"Nexus09","poste":"4319"},{"nom":"Nexus08","poste":"4312"},{"nom":"Nexus07","poste":"4306"}]
我需要计算结果以获取每个{"nom":"Nexus09","poste":"4319"}
的“ nom”和“ poste”
THX
答案 0 :(得分:1)
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));
}
}