2014-06-06 26 views
1

我有一个像下面的JSON。 这是示例json ..我有我的json结构。如果这个json有任何错误,请忽略它。如何从android中没有名称的嵌套json获取数据?

[ 
[ 
"{"category_id":1,"category_name":"1Appetizers","image_id":0}", 
"{"category_id":13,"category_name":"Buffet","image_id":0}" 
], 

[ 
"{"subcategory_id":1,"category_id":12,"subcategory_name":"Beer","image_id":0}", 
"{"subcategory_id":2,"category_id":12,"subcategory_name":"Wine","image_id":0}" 
], 
[ 
"{"menucategory_id":1,"menucategory_id":12,"menucategory_name":"dosa","image_id":0}", 
"{"menucategory_id":2,"menucategory_id":12,"menucategory_name":"idly","image_id":0}" 
] 
] 

我该如何在android中解析这个JSON。我想在一个页面中显示category_name,并在其他页面显示其他详细信息。没有对象的名称。

+2

首先这是不正确的json格式。 'category_id“:1,''在这个''''''''''''''''''''''''''''category_id':1',' – Aniruddha

+0

看起来像你正在寻找JSONArray – wvdz

+0

@Aniruddha你救了我我即将开始解析它 –

回答

1

像其他评论者所说的,这不是真正的JSON。 但是,这里试图回答你的问题。

我会创建对象来表示要序列化和反序列化并形成JSON的数据。它看起来像你会有对象类别,子类别和MenuCategory。那么你可能会有另一个对象,其中包含这三个对象的列表。

然后我会用GSON序列化和反序列化你的对象。让它为你做重担。

1

请尝试以下代码。它可能会帮助你

// say you have your json in a String named jsonString 
    try 
    { 
     JSONArray array = new JSONArray(jsonString); 
     JSONArray firstJsonArray = array.getJSONArray(0); 
     JSONArray secondJsonArray = array.getJSONArray(1); 
     JSONArray thirdJsonArray = array.getJSONArray(2); 
     for (int i = 0; i < 2; i++) 
     { 
      JSONObject firstJsonObject = firstJsonArray.getJSONObject(i); 
      JSONObject secondJsonObject = secondJsonArray.getJSONObject(i); 
      JSONObject thirdJsonObject = thirdJsonArray.getJSONObject(i); 
      String categoryName = firstJsonObject.getString("category_name"); 
      String subcategoryName = secondJsonObject.getString("subcategory_name"); 
      String menucategoryName = thirdJsonObject.getString("menucategory_name"); 

      // Now here you can use these values to do anything 
     } 
    } 
    catch (JSONException e) 
    { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
+0

org.json.JSONException:Value {“category_id”:1,Category_name“:”1Appetizers“,”image_id“:0},类型为java.lang。字符串不能转换为JSONObject – user3608659

+0

请参阅错误日志 – user3608659

相关问题