我在解析json响应时遇到麻烦。它是通过php创建的,并通过http作为json发送回我的手机。
它是一个包含3个数组的数组,所以…
$arr = array();
然后我搜索我的mysql数据库中与查询相关的特定id,通常大约3个结果返回唯一的id作为数组索引。这样的
$sql = mysql_query("Select from so and so");
while($row = mysql_fetch_assoc($sql)){
$arr[$row["ID"]] = $row;
}
print(json_encode($arr));
所以现在在android (java)代码中我尝试将响应转换为json对象然后用
解析它json_object.getString("FirstName")
对应返回的所有3个名字,但是它崩溃了。所以我猜我需要先解析出3个单独的数组,这就是我卡住的地方。
-问题是我如何在这一个对象中排序返回的数组。它们都有相同的键,但值不同
崩溃不是一个好的选择,我应该说的是,它不能找到我正在寻找的值,当我使用getString方法,这里是返回
同意以上评论,但需要更多细节
但是如果你得到的是一个正确格式的JSON响应并且是一个数组,你总是可以这样做。
JSONArray results = new JSONArray(<json response string>);
for (int i=0; i<results.length(); i++) {
JSONObject obj = results.getJSONObject(i);
}
和文档供参考:
http://developer.android.com/reference/org/json/JSONArray.html