Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用对象内部的对象访问json_Android_Json - Fatal编程技术网

Android 如何使用对象内部的对象访问json

Android 如何使用对象内部的对象访问json,android,json,Android,Json,我有上面的json文档。如何访问其中的Product1和Product2。 就像 { "abc": "abc", "xyz": "xyz", "proudct1": { "id": "id", "name": "name" }, "proudct2": { "id": "id", "name": "name" } } 您可以使用JSONOBject,它与SDK捆绑在一起,因此无需导入任何第三方库 假设上面的字符串是响应 JSONObjec

我有上面的json文档。如何访问其中的Product1和Product2。 就像

{
  "abc": "abc",
  "xyz": "xyz",
  "proudct1": {
    "id": "id",
    "name": "name"
  },
  "proudct2": {
    "id": "id",
    "name": "name"
  }
}

您可以使用
JSONOBject
,它与SDK捆绑在一起,因此无需导入任何第三方库

假设上面的字符串是
响应

JSONObject responseObj=new JSONObject(response);
JSONObject product1=responseObj.getJSONObject("product1");
String id=product1.getString("Id");
// ... and similarly for other keys

如果你有多表产品。您的json无效。产品必须类似于json数组

{
  "product": "Product Data",
  "version": 1.1,
  "releaseDate": "2017-01-18T00:00:00.000Z",
  "demo": true,
  "products": [
    {
      "Id": "1",
      "isDisplayed": "Yes",
      "Title1": "Microsoft",
      "Title2": "India",
      "URL": "abc",
      "ImageName": "Microsoft Logo",
      "isImgDownloaded": "Yes",
      "ImageURL": "xyz"
    },
    {
      "Id": "2",
      "isDisplayed": "Yes",
      "Title1": "Google",
      "Title2": "India",
      "URL": "abc",
      "ImageName": "Google Logo",
      "isImgDownloaded": "Yes",
      "ImageURL": "xyz"
    }
  ]
}
您可以像这样访问jsonarray对象

JSONArray result = jsonString.getJSONArray("products");
for (int i = 0; i < result.length(); i++){
    JSONObject jsonObjectItem = result.getJSONObject(i);
    .
    .
    .
}
JSONArray结果=jsonString.getJSONArray(“产品”);
for(int i=0;i
首先学习如何解析json,如果在解析过程中遇到任何问题,请自行尝试,然后在此处发布。使用创建getter setter。@Redman我知道如何解析json,但不知道如何访问对象中的对象。@SatanPandeya谢谢,但我不想使用这些。投票,因为这也表明了有效的结构:)我已更新了json,并试图通过资产文件夹访问它,但在生成C:\Users\Abhinav\AndroidStudioProjects\interporation\app\src\main\res\assets\demo.json错误:(1,1)错误:prolog中不允许包含内容。错误:任务“”的执行失败:应用程序:mergeDebugResources'>C:\Users\Abhinav\AndroidStudioProjects\interporation\app\src\main\res\assets\demo.json:1:1:错误:prolog中不允许包含内容。您检查了吗