【问题标题】:Parsing json array with multiple arrays in it from php -> java从 php -> java 解析包含多个数组的 json 数组
【发布时间】:2011-12-10 01:15:26
【问题描述】:

我在解析 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。
  • 同意。您需要发布print_r($arr) 并且可能还发布json_encode($arr) 的结果...并提出问题
  • 问题是我如何整理在这个对象中返回的数组。它们每个都有相同的键,但值不同
  • 定义“但它会崩溃”并发布实际的 JSON。我们真的无法读心。

标签: java php android json parsing


【解决方案1】:

同意上面的cmets,需要更多细节。

但是,如果您要返回格式正确的 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

【讨论】:

  • 谢谢...这正是我想要的,如果我很受欢迎,我会 +1 给你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多