Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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_Parsing - Fatal编程技术网

android中特定格式的Json解析

android中特定格式的Json解析,android,json,parsing,Android,Json,Parsing,我正在尝试获取以下特定格式的一个json文件 { "business":[ { "id":"13", "category":"Dinner", "subcategory":"", "name_eng":"dinner 1", "name_arab":"dinner 1", "mobile":"12345", "address":"not now", "logo":"1.gif", "con

我正在尝试获取以下特定格式的一个json文件

{
   "business":[
      {
     "id":"13",
     "category":"Dinner",
     "subcategory":"",
     "name_eng":"dinner 1",
     "name_arab":"dinner 1",
     "mobile":"12345",
     "address":"not now",
     "logo":"1.gif",
     "contact":"Call",
     "open_time":"10 PM",
     "close_time":"8 PM"
     }
  ],
   "business_cat":[
  [
     "cat 1",
     {
        "name":"dish 1",
        "id":"7",
        "name_arab":"dish1",
        "desc_eng":"5 Chicken Legs\r\n5 Hamous\r\n5 Fires\r\n5 Pepsi",
        "desc_arab":"5 Chicken Legs\r\n5 Hamous\r\n5 Fires\r\n5 Pepsi",
        "price":"200 KD",
        "logo":"laptop.jpeg"
     },
     {
        "name":"dish 2",
        "id":"8",
        "name_arab":"dish 2",
        "desc_eng":"5 Chicken Legs\r\n5 Hamous\r\n5 Fires\r\n5 Pepsi",
        "desc_arab":"5 Chicken Legs\r\n5 Hamous\r\n5 Fires\r\n5 Pepsi",
        "price":"123789",
        "logo":"micky.jpg"
     },
     {
        "name":"dish3",
        "id":"13",
        "name_arab":"dish3",
        "desc_eng":"5 Chicken Legs\r\n5 Hamous\r\n5 Fires\r\n5 Pepsi",
        "desc_arab":"5 Chicken Legs\r\n5 Hamous\r\n5 Fires\r\n5 Pepsi",
        "price":"300 KD",
        "logo":"1.jpg"
     },
     {
        "name":"new dish",
        "id":"15",
        "name_arab":"new dish",
        "desc_eng":"5 Chicken Legs\r\n5 Hamous\r\n5 Fires\r\n5 Pepsi",
        "desc_arab":"5 Chicken Legs\r\n5 Hamous\r\n5 Fires\r\n5 Pepsi",
        "price":"213 KD",
        "logo":"12.jpg"
     }
   ],
   [
     "cat2",
     {
        "name":"dish3",
        "id":"14",
        "name_arab":"dish3",
        "desc_eng":"5 Chicken Legs\r\n5 Hamous\r\n5 Fires\r\n5 Pepsi",
        "desc_arab":"5 Chicken Legs\r\n5 Hamous\r\n5 Fires\r\n5 Pepsi",
        "price":"123 KD",
        "logo":"10.jpg"
     },
     {
        "name":"dish 4",
        "id":"16",
        "name_arab":"dish4",
        "desc_eng":"5 Chicken Legs\r\n5 Hamous\r\n5 Fires\r\n5 Pepsi",
        "desc_arab":"5 Chicken Legs\r\n5 Hamous\r\n5 Fires\r\n5 Pepsi",
        "price":"110 KD",
        "logo":"3.jpg"
        }
     ]
   ]
}
现在,我如何访问“business”、“business_cat”和“business_cat”、“cat1”和“cat2”名称以及“cat1”和“cat2”中的所有对象。请告诉我,处理此类json数据有点复杂,请帮我解决。

尝试如下:

使用以下方法读取JSON:

之后,按如下方式对其进行分析:

试试看{
字符串响应=parseJSON(URL);
JSONObject responseJson=新的JSONObject(响应);
JSONArray m_bus_cat=responseJson.getJSONArray(“业务_cat”);

对于(inti=0;i请尝试以下代码来解析响应数据

这里
jsonString
是您从响应中获得的字符串

try {
        JSONObject jsonObject=new JSONObject(jsonString);
        JSONArray business=jsonObject.getJSONArray("business");
        for(int i=0;i<business.length();i++){
            JSONObject businessObject=business.getJSONObject(i);
            //you can store in array or arraylist
            String id=businessObject.getString("id");
            String category=businessObject.getString("category");
            // and so on
        }

        JSONArray businessCat=jsonObject.getJSONArray("business_cat");
        for(int i=0;i<businessCat.length();i++){
            JSONArray businessCatInner=businessCat.getJSONArray(i);
            String cat=businessCatInner.getString(0);

            for(int j=0;j<businessCatInner.length();j++){
                JSONObject businessInnerObject=businessCatInner.getJSONObject(i);
                //you can store in array or arraylist
                String name=businessInnerObject.getString("name");
                String name_arab=businessInnerObject.getString("name_arab");
                // and so on    
            }


        }
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
试试看{
JSONObject JSONObject=新的JSONObject(jsonString);
JSONArray business=jsonObject.getJSONArray(“业务”);

对于(int i=0;i可能重复的请发布您的努力,您到目前为止做了什么…您好,您可以向我的邮件id发送完整协议吗?@Bebin T.N您的邮件id是什么?如何在不同的数组或arraylist中存储“cat1”和“cat2”的值?
      try{
          String response=parseJSON(URL);
        JSONObject responseJson = new JSONObject(response);
        JSONArray m_bus_cat=responseJson.getJSONArray("business_cat");
            for(int i=0; i<m_bus_cat.length(); i++){
                     JSONObject catJson = new JSONObject(i);
                      if(catJson .has("cat 1")){
                       JSONArray resultArr = resultInstanceJson.getJSONArray("cat 1");
                    for(int j=0; j<resultArr.length(); j++){
                        String Name = catJson .getString("name");
                       String id=catJson.getString("id");
                    }
                 }
                }
            }
        }
    }catch(Exception e){
        e.printStackTrace();
    }
try {
        JSONObject jsonObject=new JSONObject(jsonString);
        JSONArray business=jsonObject.getJSONArray("business");
        for(int i=0;i<business.length();i++){
            JSONObject businessObject=business.getJSONObject(i);
            //you can store in array or arraylist
            String id=businessObject.getString("id");
            String category=businessObject.getString("category");
            // and so on
        }

        JSONArray businessCat=jsonObject.getJSONArray("business_cat");
        for(int i=0;i<businessCat.length();i++){
            JSONArray businessCatInner=businessCat.getJSONArray(i);
            String cat=businessCatInner.getString(0);

            for(int j=0;j<businessCatInner.length();j++){
                JSONObject businessInnerObject=businessCatInner.getJSONObject(i);
                //you can store in array or arraylist
                String name=businessInnerObject.getString("name");
                String name_arab=businessInnerObject.getString("name_arab");
                // and so on    
            }


        }
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }