【问题标题】:Error while parsing JSON Array解析 JSON 数组时出错
【发布时间】:2013-04-14 02:53:33
【问题描述】:

我已将这些 JSON 数据解析到我的 Android 应用程序中:

{"result":"success","source":"getPlayerNames","success":["Player1","Player2"]}

为了解析它,我是这样做的(其中jsonData 是一个包含上述数据的字符串):

ArrayList<String> players;
players = new ArrayList();

JSONObject json = new JSONObject(jsonData);
JSONArray array = json.getJSONArray("success");

for (int i = 0; i < array.length() ; i++)
{
    players.add(array.getString(i));
}

但是players ArrayList 还是空的... (size = 0)

为什么?你能帮帮我吗?

谢谢!

【问题讨论】:

  • 您的代码运行良好,我自己测试过。这里没有问题。

标签: android arrays json parsing


【解决方案1】:

尝试改变这一点

players = new ArrayList();

到:

players = new ArrayList<String>();

看看有没有帮助

编辑: 知道了。工作代码:

ArrayList<String> players;
players = new ArrayList();

JSONObject json = new JSONObject(jsonData);
JSONArray array = json.getJSONArray("success");

for (int i = 0; i < array.length() ; i++)
{
    players.add((String)array.get(i));
}

【讨论】:

  • 不,还是一样...我认为问题出在 JSONArray 解析中,但在哪里?
  • 泛型声明和转换为字符串是隐式的,所以什么都不做。我实际上强烈支持@user1947177 使用getString 而不是get,因为它允许org.json 为您做一些错误检查。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-06
  • 1970-01-01
相关资源
最近更新 更多