我有一个类似下面的JSON。 这是样本json ..我有这样的json结构。如果这个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,在其他页面中显示其他详细信息。对象没有名称。
答案 0 :(得分:1)
与其他评论者提到的一样,这不是真正的JSON。 但无论如何,这是试图回答你的问题。
我会创建表示您要序列化和反序列化并形成JSON的数据的对象。看起来你会有对象Category,Subcategory和MenuCategory。那么你可能会有另一个对象来保存这三个对象的列表。
然后我会使用GSON来序列化和反序列化你的对象。让它为你做繁重的工作。
答案 1 :(得分: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();
}