即时通讯尝试从具有mongodb作为其数据库和配置项的站点获取数据,我使用简单的脚本将json编码为网站输出,输出如下:Android:无法从多维MongoDB转换为JSONArray jsonObject
{
"mko680": {
"_id": {
"$id": "515be1807bfb8b1d0d000000"
},
"channel": [
"channel a",
"subchannel a"
],
"channel_id": 227,
"id": "mko680",
},
"mkv002": {
"_id": {
"$id": "515b32407bfb8b1d0d000000"
},
"channel": [
"channel a",
"subchannel b"
],
"channel_id": 232,
"id": "mkv002",
}
}
我尝试解析输出在我的Android项目这样
JSONArray obj = new JSONArray(outputlike o);
for (int i = 0; i < obj.length(); i++) {
JSONObject json_data = obj.getJSONObject(i);
Log.i("test",json_data.getString("channel_id"));
}
的logcat的说org.JSON.Mismatch
任何线索的是JSON /我的代码不正确?
感谢,并索里对我不好的问题希望你能理解
更新:
现在我将其更改为JSON对象,如:
JSONObject arr = new JSONObject(bufstring);
for (int i = 0; i < arr.length(); i++) {
Log.i("test",arr.getString("channel_id"));
}
但logcat的现在说,不值为channel_id,但它确定在该输出中有channel_id,有任何线索?
谢谢,是的,我已经做了这样的事情,但我想从所有mko680,mkv002和其他我所不知道的所有数据知道_id是什么,循环时有什么办法呢? – Abdullah
如果你已经制作好了你的JSON,然后把我的代码片段放在while循环中,它就可以工作。 – SudoRahul
这里是我完整的JSON http://tny.cz/72d02fc2,你可以发布循环代码,我试试看,它只显示第一个(mko680)其他没有 – Abdullah