我在解析 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 方法时,它找不到我正在搜索的值,这里是返回
最佳答案
同意上面的评论,需要更多细节。
但是,如果您返回格式正确的 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
关于java - 从 php -> java 解析包含多个数组的 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8453611/