java - 使用 Java 访问 JSONArray 中的项目成员

标签 java json arrays

我刚刚开始在 java 中使用 json。我不确定如何访问 JSONArray 中的字符串值。例如,我的 json 看起来像这样:

{
  "locations": {
    "record": [
      {
        "id": 8817,
        "loc": "NEW YORK CITY"
      },
      {
        "id": 2873,
        "loc": "UNITED STATES"
      },
      {
        "id": 1501
        "loc": "NEW YORK STATE"
      }
    ]
  }
}

我的代码:

JSONObject req = new JSONObject(join(loadStrings(data.json),""));
JSONObject locs = req.getJSONObject("locations");
JSONArray recs = locs.getJSONArray("record");

此时我可以访问“记录”JSONArray,但不确定如何在 for 循环中获取“id”和“loc”值。抱歉,如果这个描述不太清楚,我对编程有点陌生。

最佳答案

您是否尝试过使用 JSONArray.getJSONObject(int) , 和 JSONArray.length()创建你的for循环:

for (int i = 0; i < recs.length(); ++i) {
    JSONObject rec = recs.getJSONObject(i);
    int id = rec.getInt("id");
    String loc = rec.getString("loc");
    // ...
}

关于java - 使用 Java 访问 JSONArray 中的项目成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1568762/

相关文章:

java - A* 多智能体寻路

java - 应用程序会拍照,但不会保存

java - 不区分大小写的 String.contains 方法的替代方法是什么?

Python JSON 解码得到错误的值

javascript - 我想通过另一个数组中的 id 过滤出一个对象数组

c - 使用结构体添加两个二维数组时出现段错误 11

java - 如何根据光标位置分割线?

c# - 在 C# 中从 Firebase 反序列化 JSON 对象

java - FlightInformation 上的语法错误

javascript - Chrome 扩展弹出窗口打不开