如何使用处理 JSON 对象解析如下所示的嵌套 JSON 文件?

如何使用处理 JSON 对象解析如下所示的嵌套 JSON 文件?我想弄清楚如何解析多级 JSON。


{

  "info": {

    "description": "COCO 2014 Dataset",

    "url": "http://cocodataset.org",

    "version": "1.0",

    "year": 2014,

    "contributor": "COCO Consortium",

    "date_created": "2017/09/01"

  },

  "images": [

    {

      "license": 5,

      "file_name": "COCO_train2014_000000057870.jpg",

      "coco_url": "http://images.cocodataset.org/train2014/COCO_train2014_000000057870.jpg",

      "height": 480,

      "width": 640,

      "date_captured": "2013-11-14 16:28:13",

      "flickr_url": "http://farm4.staticflickr.com/3153/2970773875_164f0c0b83_z.jpg",

      "id": 57870

    },


泛舟湖上清波郎朗
浏览 112回答 2
2回答

RISEBY

查看JSONObject和JSONArray以了解每个页面上的可用方法,每个方法都有文档和示例。关于您的结构,以下是有关如何访问嵌套 JSON 对象和数组的快速片段:// assume data is a JSONObject pointing to the loaded json data (via loadJSONObject / JSONObject.parse(), etc.// access the info objectJSONObject info = data.getJSONObject("info");// access the images array objectJSONArray images = data.getJSONArray("images");// access a string inside an objectprintln(info.getString("description"));// access a JSON object inside a JSON arrayJSONObject firstImage = images.getJSONObject(0);// acess an integerprintln(firstImage.getInt("id"));// ... and a string againprintln(firstImage.getString("flickr_url"));如果您将加载的JSONObject变量命名为data,粘贴上面的代码片段并运行,它应该打印:COCO 2014 Dataset57870http://farm4.staticflickr.com/3153/2970773875_164f0c0b83_z.jpg

翻阅古今

您可以使用Gson解析/反序列化模型类。或者如果你想手动解析,那么你必须先解析一个json对象,然后你必须从解析后的json中再次解析它。例如。JsonObject jsonObject = new JsonObject(jsonString);JsonObject infoObject = jsonObject.getJsonObject("info");String description = infoObject.getString("description");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java