【问题标题】:Access only the First Object from a JSON Array仅访问 JSON 数组中的第一个对象
【发布时间】:2021-06-09 10:15:55
【问题描述】:

这是我下面代码中的 json:

"ict":[
   {
      "module1":{
         "1":[
            "OS",
            "Operating system"
         ],
         "2":[
            "CA",
            "Computer Application"
         ],
         "3":[
            "CM",
            "Computational Mathematics"
         ],
         "4":[
            "CA",
            "Computer Application"
         ],
         "5":[
            "Programming",
            "Structured Programming"
         ]
      },

我想访问这部分

"1":["OS","Operating system"]

但获取字符串"OS"而不获取整个字符串。

当我运行我的 java 代码时:

private void addItemsFromJSON() {
    try {
        JSONObject jsonObject = new JSONObject(readJSONDataFromFile());
        JSONArray coursea = jsonObject.getJSONArray("ict");

         for (int i = 0; i < coursea.length(); i++) {
                JSONObject cc = coursea.getJSONObject(i);
                JSONObject contact = cc.getJSONObject("module1");
                courses.add(new course(contact.getString("1"),"",String.valueOf(content.get(ran.nextInt(content.size())))));

            }




    } catch (JSONException | IOException e) {
        Log.d(TAG, "addItemsFromJSON: 777", e);
    }
}

我得到的输出是["OS", "Operating system"]

如何从具有多个值的 json 键数组中仅检索第一个对象?

【问题讨论】:

    标签: java android arrays json


    【解决方案1】:

    “1”处的数据引用另一个JSONArray,因此要获取数组中的第一项,您可以执行以下操作:

    JSONArray array = contact.getJSONArray("1");
    array.getString(0);
    

    在 JSON 中,对象用{} 表示,数组用[] 表示。如果您尝试访问 JSON 对象中的特定值,那么这实际上只是通过数组和对象遵循路径的情况。

    【讨论】:

      猜你喜欢
      • 2021-09-19
      • 1970-01-01
      • 2015-05-15
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 2020-04-26
      • 1970-01-01
      • 2013-08-15
      相关资源
      最近更新 更多