我在解析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个单独的数组,这就是我被卡住的地方。
- 问题是如何整理在这一个对象中返回的数组。它们每个都有相同的键,但值不同
-crashing在术语上不是一个好选择,我应该说的是当我使用getString方法时它无法找到我正在搜索的值,这里是返回
答案 0 :(得分:1)
同意上述评论,需要更多详细信息。
但是,如果您正在获取格式正确的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