我从本地测试服务器返回一个json字符串,如下所示。
[0, “000SSSBBBB”]
我无法使用JSON对象获取“000SSSBBBB”。我的代码如下。在运行时,以下行异常如下:
“java.lang.Integer类型0的0值无法转换为jsonobject”
JSONObject obj = jsonArray.getJSONObject(i);
请帮助我,因为我是json的新手。
由于
答案 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){}