所以我有像这样的网络服务的json响应
{
error: false
types: [2]
-0: {
card_type_id: 5
category: "Food & Beverages"
}
-1: {
card_type_id: 8
category: "Entertaiment"
}
}
我想要做的是获取json数组内的数字"类型"并使用它来循环设置将在listview中使用的arraylist的值,但我的代码似乎并且无法获取json数组长度,这是我的代码
JSONObject obj = new JSONObject(response);
if(!obj.getBoolean("error")){
JSONArray types = obj.getJSONArray("types");
for(int i=0; i<types.length();i++)
{
JSONObject a = types.getJSONObject(i);
int ct_id = a.getInt("card_type_id");
String category = a.getString("category");
CardType ct = new CardType();
ct.setTypeId(_ct_id);
ct.setTypeCategory(_category);
categoryArray.add(ct);
}
}
任何人都可以帮助我吗?先谢谢
答案 0 :(得分:0)
这是你的JSON响应可能看起来的样子(注意键和字符串值应该用双引号括起来):
{
"error": false,
"types": [
{
"card_type_id": 5,
"category": "Food & Beverages"
},
{
"card_type_id": 8,
"category": "Entertaiment"
}
]
}
此示例中的JSONArray“types”的长度(types.length())为2.现在,您可以实现for-loop并获得预期的结果。
答案 1 :(得分:0)