猿问

如何在java中读取嵌套的非数组JSON?

我有一个 JSON 文件:


 "items": [

  {

   (...)

   "volumeInfo": {

    (...)

    "readingModes": {

     "text": true,

     "image": true

    },

    (...)

  }

如何访问“readingModes”中的“图像”和“文本”?我都尝试过


JSONArray readingModes = volumeInfo.optJSONArray("readingModes");

它适用于带有方括号的数据,但在本例中返回空值



JSONObject readingModes = gobj.getJSONObject("readingModes");

返回错误 - JSONObject["readingModes"] 未找到,其中访问 gobj:


JSONObject jobj = new JSONObject(jsonData);

JSONArray items = jobj.getJSONArray("items");

Iterator i = items.iterator();

while(i.hasNext())

{

    JSONObject gobj = (JSONObject) i.next();

(...)

}


Cats萌萌
浏览 113回答 1
1回答

叮当猫咪

JSONObject jobj = new JSONObject(jsonData);JSONArray items = jobj.getJSONArray("items");Iterator i = items.iterator();while(i.hasNext()){    JSONObject gobj = (JSONObject) i.next();    JSONObject volumeInfo = gobj.getJSONObject('volumeInfo');    JSONObject readingModes = volumeInfo.getJSONObject('readingModes');(...)}根据您的 JSON,您需要执行此操作。由于readingModes是在volumeInfo,首先需要获取volumeInfo的JSON对象才能访问readingModes。
随时随地看视频慕课网APP

相关分类

Java
我要回答