解析包含多个数组的json数组java


Parsing json array with multiple arrays in it from php -> java

我在解析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