从服务器访问JSON字符串时运行时异常

时间:2015-04-13 15:18:07

标签: java android json

我从本地测试服务器返回一个json字符串,如下所示。

[0, “000SSSBBBB”]

我无法使用JSON对象获取“000SSSBBBB”。我的代码如下。在运行时,以下行异常如下:

“java.lang.Integer类型0的0值无法转换为jsonobject”

JSONObject obj = jsonArray.getJSONObject(i);

请帮助我,因为我是json的新手。

由于

2 个答案:

答案 0 :(得分:1)

这不是JSONObject,这就是你面对异常的原因。 Java文档有时很有帮助:http://www.json.org/javadoc/org/json/JSONObject.html

  

JSONObject getJSONObject(int index)             获取与索引关联的JSONObject。

您应该使用:

  

java.lang.Object get(int index)             获取与索引关联的对象值。

  

java.lang.String getString(int index)             获取与索引关联的字符串。

不要忘记在将元素放在给定位置之前提供长度检查。 您可以通过以下代码执行此操作,例如:jsonArray.length()== 1

答案 1 :(得分:0)

你可以试试这个! 这个[0,' 000SSSBBBB']是一个没有键的对象,该对象包含一个数组!

try {
        JSONArray jsonArray = new JSONArray("[0,'000SSSBBBB']");
        String obj = (String)jsonArray.get(1);
        ...
    }catch(org.json.JSONException e){}