如何在另一个json内的json内获取json?

问题描述 投票:1回答:2

我是android和json的新手。我想实现一些逻辑,在这里我可以从sub1从另一个json内的json内的json获取数据。有没有办法获取这些数据?

这是我的json文件的样子。

{
  "Aeronautical":[],

  "Automobile":[],

  "Civil":[],


  "Computer":[

  {
    "sub1":[
        {
          "id":"1",
          "name":"name1",
          "year":"2019",
          "url":"some_url",
        },
      {
          "id":"2",
        "name":"Name 2",
          "year":"2018",
          "url":"some url",
        },
      {
          "id":"3",
        "name":"Name 4",
          "year":"2018",
          "url":"some url",
        },
      ],
    }
   ],
}
java android json android-studio android-json
2个回答
2
投票

Android SDK包含org.json库。您可以使用JSONObject类。

String jsonString = /* obtain some JSON however you need to*/;
JSONObject root = new JSONObject(jsonString);
JSONObject sub1 = root.getJSONObject("sub1");

我省略了异常处理,但这是基本思想。


0
投票

sub1在另一个数组中,所以首先您应该从计算机数组中获取数据

   JSONObject obj = null;
        try {
            obj = new JSONObject(json);

        JSONArray arr = obj.getJSONArray("Computer");

        for (int i = 0; i < arr.length(); i++)
        {
            JSONObject obj_computers = arr.getJSONObject(i);
            JSONArray sub1 = obj_computers.getJSONArray("sub1");

            for (int j = 0; j < sub1 .length(); j++)
            {
                JSONObject sub1_data = sub1.getJSONObject(j);
                Log.i("test" ,sub1_data.toString());
            }
        }
        } catch (JSONException e) {
            e.printStackTrace();
        }
© www.soinside.com 2019 - 2024. All rights reserved.