如何使用迭代器从Json获取多个元素

时间:2018-01-17 10:37:49

标签: java json

在下面的json中,我想获取元素并将每一行放在不同的字符串中,所以我创建了一个List。 我的问题是,使用我的剪辑器,我无法获得,例如,Name =" name1"和重量=" 2"在同一行。

string = '{"Name":"name1", "Weight":"3"},{"Name":"name2","Weight":"2"}'
JSONArray jsonarray = (JSONArray) parser.parse(string);
List list = new ArrayList();

Iterator<JSONObject> iterator = jsonarray.iterator();

while (iterator.hasNext()) { 
     list.add(iterator.next().get("Name")+"/"+iterator.next().get("Weight"));
}

我需要像[&#34; name1 / 3&#34;,&#34; name2 / 2&#34;]。我知道当我输入iterator.next()两次时,就像我一样,我会很快进入下一个元素,但我不知道该怎么做。

提前谢谢!

1 个答案:

答案 0 :(得分:1)

将对next()的第一次调用的结果分配给对象:

while (iterator.hasNext()) {
    JSONObject object = iterator.next();

    list.add(object.get("Name") + "/" + object.get("Weight"));
}