我得到一个NullPointerException becauase此logcat的消息:奇怪的JSON解析错误的Android
02-17 13:01:10.766: W/System.err(950): org.json.JSONException: Value  of type java.lang.String cannot be converted to JSONArray
02-17 13:01:10.775: W/System.err(950): at org.json.JSON.typeMismatch(JSON.java:111)
这是我的JSON的输出:
[{"rated":"1","user_id":""}]
这里是怎么了检索它:
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is2,"iso-8859-1"),8);
sb2 = new StringBuilder();
sb2.append(reader.readLine() + "\n");
String line="0";
while ((line = reader.readLine()) != null) {
sb2.append(line + "\n");
}
is2.close();
resulttt=sb2.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
try{
jArray2 = new JSONArray(resulttt);
JSONObject json_data=null;
rateresult = new int[jArray2.length()];
rateuser = new String[jArray2.length()];
for(int i=0;i<jArray2.length();i++){
json_data = jArray2.getJSONObject(i);
rateresult[i]=json_data.getInt("rated");
rateuser[i]=json_data.getString("user_id");
}
}
任何想法是什么造成这种“不匹配”或奇怪的价值在我的LogCat?谢谢。
“结果”是什么样的。是否有可能找回一个JSON对象而不是只有一个元素的JSON数组? – 2012-02-17 19:20:10
由于日志中有消息,你没有得到例外,因为你使用了错误的字符集;)请参阅SLaks回答低于 – 2012-02-17 19:20:24