如何从 API 获取 JSON 数组中没有名称的 JSON 对象

Posted

技术标签:

【中文标题】如何从 API 获取 JSON 数组中没有名称的 JSON 对象【英文标题】:How can I get a JSON object without a name inside a JSON Array from API 【发布时间】:2021-10-20 22:39:53 【问题描述】:

the JSON data from the API I'm using

部分代码:我已经在代码中指出,但不知道该放什么: JSONObject volumeObj = itemsObj.getJSONObject("");在基于该 API 的“”中。我可以在代码中修改什么或放入“ ”以让我从 0、1 等获取对象?

 RequestQueue queue = Volley.newRequestQueue(MainActivity.this);


    // below line is use to make json object request inside that we
    // are passing url, get method and getting json object. .
    JsonObjectRequest booksObjrequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() 
        @Override
        public void onResponse(JSONObject response) 
            progressBar.setVisibility(View.GONE);
            // inside on response method we are extracting all our json data.
            try 
                JSONArray itemsArray = response.getJSONArray("result");
                for (int i = 0; i < itemsArray.length(); i++) 
                    JSONObject itemsObj = itemsArray.getJSONObject(i);
                    **JSONObject volumeObj = itemsObj.getJSONObject("");**
                    String title = volumeObj.optString("title");
                    String subtitle = volumeObj.optString("subtitle");
                    JSONArray authorsArray = volumeObj.getJSONArray("authors");
                    String publisher = volumeObj.optString("publisher");
                    String publishedDate = volumeObj.optString("publishedDate");
                    String description = volumeObj.optString("description");

【问题讨论】:

【参考方案1】:

你想获取数组的项目吗? “结果”数组包含这些对象,因此您可以使用索引访问它们:

for (int i = 0; i < itemsArray.length(); i++) 
    /* This is the ith object in the array */
    JSONObject volumeObj = itemsArray.getJSONObject(i);
    String title = volumeObj.optString("title");
    String subtitle = volumeObj.optString("subtitle");
    JSONArray authorsArray = volumeObj.getJSONArray("authors");
    String publisher = volumeObj.optString("publisher");
    String publishedDate = volumeObj.optString("publishedDate");
    String description = volumeObj.optString("description");
    ...

【讨论】:

感谢您的回答。我以前做过,但仍然得到非常奇怪的输出。我发现我从 API 获得的 JSON 数据被破坏了。我得想办法。

以上是关于如何从 API 获取 JSON 数组中没有名称的 JSON 对象的主要内容,如果未能解决你的问题,请参考以下文章

如何从 JSON 获取数据以在 PrimeNG 折线图中使用?

如何从复杂的 JSON 对象中获取值?

Flutter 如何使用 JSON 从 Rest API 获取 List<String> _list 数组字符串

从flutter中的多个嵌套json数组中获取值

如果 Flutter/Dart 中没有名称/键,如何序列化/解析嵌套的 JSON 数组

如何从 JSON 数组 SwiftyJSON 中获取数据?