如何解析定义了计数的 JSON 对象
How to parse JSON object with count defined
我有 json 个具有这种结构的对象。
{
"count": 3,
"result": {
"1": {
"brand_id": "1",
"brand_name": "Adidas",
"brand_image": "http://a.jpg"
},
"2": {
"brand_id": "2",
"brand_name": "Asics",
"brand_image": "http: //b.jpg"
},
"3": {
"brand_id": "3",
"brand_name": "Adidas adidas",
"brand_image": "http: //c.jpg"
}
}
}
这不是静态的。计数可能会有所不同。
我试过这样。我不想使用 gson。我想解析这个。如何处理这样的数据结构。
JSONObject totalData=new JSONObject(results.toString());
JSONObject brandResults=totalData.getJSONObject("result");
// I can get output in this.
Log.e("Result output", brandResults.toString());
// this is not working
int brandCounts = brandResults.getInt("count");
Log.e("BRAND COUNTS", ""+brandCounts);
if (brandCounts > 0) {
for (int i = 0; i < brandCounts; i++) {
JSONObject items = brandResults.getJSONObject(Integer.toString(i));
String brand_id=items.getString("brand_id");
Log.e("Brand id", brand_id);
}
}
当您按以下方式检索 count.Change this 时,有一个简单的错误。
JSONObject totalData=new JSONObject(results.toString());
JSONObject brandResults=totalData.getJSONObject("result");
Log.e("Result output", brandResults.toString());
int brandCounts = totalData.getInt("count");
Log.e("BRAND COUNTS", ""+brandCounts);
if (brandCounts > 0) {
for (int i = 1; i <= brandCounts; i++) {
JSONObject items = brandResults
.getJSONObject(Integer.toString(i));
String brand_id=items.getString("brand_id");
Log.e("Brand id", brand_id);
}
}
快乐编码
这应该可以回答您的问题
int count = totalData.getInt("count");
您正在尝试从结果中获取计数,但您的计数驻留在 JSONObject 本身中。
我有 json 个具有这种结构的对象。
{
"count": 3,
"result": {
"1": {
"brand_id": "1",
"brand_name": "Adidas",
"brand_image": "http://a.jpg"
},
"2": {
"brand_id": "2",
"brand_name": "Asics",
"brand_image": "http: //b.jpg"
},
"3": {
"brand_id": "3",
"brand_name": "Adidas adidas",
"brand_image": "http: //c.jpg"
}
}
}
这不是静态的。计数可能会有所不同。
我试过这样。我不想使用 gson。我想解析这个。如何处理这样的数据结构。
JSONObject totalData=new JSONObject(results.toString());
JSONObject brandResults=totalData.getJSONObject("result");
// I can get output in this.
Log.e("Result output", brandResults.toString());
// this is not working
int brandCounts = brandResults.getInt("count");
Log.e("BRAND COUNTS", ""+brandCounts);
if (brandCounts > 0) {
for (int i = 0; i < brandCounts; i++) {
JSONObject items = brandResults.getJSONObject(Integer.toString(i));
String brand_id=items.getString("brand_id");
Log.e("Brand id", brand_id);
}
}
当您按以下方式检索 count.Change this 时,有一个简单的错误。
JSONObject totalData=new JSONObject(results.toString());
JSONObject brandResults=totalData.getJSONObject("result");
Log.e("Result output", brandResults.toString());
int brandCounts = totalData.getInt("count");
Log.e("BRAND COUNTS", ""+brandCounts);
if (brandCounts > 0) {
for (int i = 1; i <= brandCounts; i++) {
JSONObject items = brandResults
.getJSONObject(Integer.toString(i));
String brand_id=items.getString("brand_id");
Log.e("Brand id", brand_id);
}
}
快乐编码
这应该可以回答您的问题
int count = totalData.getInt("count");
您正在尝试从结果中获取计数,但您的计数驻留在 JSONObject 本身中。