如何正确解析android中的JSON数组?

时间:2015-06-11 20:22:33

标签: android arrays json

我正在尝试解析一些信息,但是我遇到了一些错误。这是我的代码的一部分:

public static ArrayList<Advertiser> negociosCiudad(String ciudad){
    ArrayList<Advertiser> result = new ArrayList<Advertiser>();
    JSONParser jp = new JSONParser();
    JSONArray jArray = jp.getJSONFromUrl(URL + "searchByCity/" + ciudad);
    try {
        for (int i = 0; i < jArray.length(); i++) {

            Advertiser a = new Advertiser();
            JSONObject o = jArray.getJSONObject(i);
            a.setDireccion(o.getString(TAG_ADDRESS));
            a.setId(o.getString(TAG_ADVERTISER_ID));
            a.setCiudad(o.getString(TAG_CITY));
        ...
        }
}

这就是我收到的内容:

["Hello","Good Bye","Errors","Everywhere","Help", ...]

这就是我得到的错误:

org.json.JSONException: Value Hello at 0 of type java.lang.String cannot be converted to JSONArray

我还没弄清楚如何正确地做到这一点,但我相信这很简单。我意识到我没有使用JSON数组,但我不知道该怎么做。

我将使用我正在尝试修复它的内容来编辑这篇文章。

提前谢谢。

修改

我有一个错误,并给出了不同的回答,让我得到真正的回复,因为[“你好”,“再见”,“错误”,“无处不在”,“帮助”,...]来自另一个查询 -

1 个答案:

答案 0 :(得分:1)

你需要一个包含数组的对象,如下所示:

{
 "arrayOfIntegers": [
   1,
   2,
   3,
   4,
   5
 ]
}

无论如何,就个人而言,如果你不与大Jsons合作,而你不寻求最大的性能,你可以简单地使用Gson

您可以通过&#34; com.google.code.gson&#34;从maven获取。