总是提示项目解析json数据时发现报
10-12 02:36:35.964: W/System.err(323): org.json.JSONException: Value of type java.lang.String cannot be converted to JSONObject 错误异常,无论更改header的编码还是用纯英文数据都依然提示,搜索一下错误提示,发现有人说是记事本(notepad.exe)保存的php文件保存时带有bom头,解决方案大概有下面几种:1.继续用记事本保存成ansi就没问题了;2.换个编辑器重新保存;3.前面两种情况还是防不胜防,据说在andriod4.0里已有解决方案:1 public JSONTokener(String in) {2 // consume an optional byte order mark (BOM) if it exists3 if (in != null && in.startsWith("\ufeff")) {4 in = in.substring(1);5 }6 this.in = in;7 }
具体用法类似
1 String json = "{"2 + " \"query\": \"Pizza\", "3 + " \"locations\": [ 94043, 90210 ] "4 + "}";5 6 JSONObject object = (JSONObject) new JSONTokener(json).nextValue();7 String query = object.getString("query");8 JSONArray locations = object.getJSONArray("locations");