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

标签 java json

在下面的 json 中,我想获取元素并将每一行放入不同的字符串中,所以我创建了一个列表。 我的问题是,使用我的狙击手,我无法在同一行上获得例如 Name="name1"和 Weight="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"));
}

我需要类似[“name1/3”,“name2/2”]的东西。我知道当我像我一样输入 iterator.next() 两次时,我会很快进入下一个元素,但我不知道到底该怎么做。

提前谢谢您!

最佳答案

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

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

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

关于java - 如何使用迭代器从Json中获取多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48299045/

相关文章:

javascript - 有没有办法在 ajax POST 请求中发送对象和单独的变量

java - java中方法无法识别的错误

java - 将 ArrayList 排序为对象类型,然后按字母顺序排序

java - Java中是否有任何实用方法来查找重复的重复字符?

java - 并发HashMap : Can we trust on it?

json - 在 Haskell 中解析 RoseTree JSON

java - 使用 pickling 将 json 对象数组解析为 scala 对象

json - 有没有一种方法可以当场解析JSON和触发事件?

java - Spring MVC 表 blob 字段转 json

java - 我们如何写出模拟时钟的角度表达式?