0

我在 android 应用程序上创建 JSON 对象时遇到问题。

我得到一个 JSON 数组,如:

[{"estado":"1","longitude":"19.1714172","latitude":"-8.9477729"},{"estado":"1","longitude":"37.1714681","latitude":"-8.9476652"}]

从服务器(使用 servlet)。

但是,当我尝试访问 for cicle 上的数组对象时,例如:

for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                //the rest of code
            }

我的应用程序给出了一些错误,并且简单地停止(类似于 ANR!我不确定这一点)。

任何人都可以帮忙吗?请。

4

1 回答 1

0

首先,请去掉感叹号“!” 在你的句子末尾,它可能会冒犯这里的人^^

好的,关于你的问题,我建议将你的 JSON 数组封装在一个 json 对象中,可能是这样的:

{"data":[{"estado":"1","longitude":"19.1714172","latitude":"-8.9477729"},{"estado":"1","longitude":"37.1714681","latitude":"-8.9476652"}]}

例如,我们将结果字符串保存在String被调用的jsontext中,然后我们将从该字符串创建一个JSONObject,获取JSONArray,并解析JSONObject数组上的 。这是一个小片段:

String jsontext = "yourjsontext"; 
//if it's from a http response, you might call respon

JSONObject mainObject = new JSONObject("jsontext");
JSONArray jsonArray = mainObject.getJSONArray("data");

for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject jsonObject = jsonArray.getJSONObject(i);
    //the rest of code
} code here

希望对你有帮助,祝你好运^^

问候,

里德

于 2013-09-19T03:07:40.350 回答