【发布时间】:2013-02-22 14:19:30
【问题描述】:
我正在尝试解析来自谷歌地图搜索的 JSON 数据。 我已经尝试过 JACKSON,现在我正在尝试 JSON SIMPLE。他们都给出了同样的错误。
首先我在谷歌地图上进行搜索。
String urlString = "http://maps.google.com/maps?f=q&source=s_q&output=json&start=0&q="+ "Stockholm" + "+Gym";
给我 JSON while(1);{title:"stockholm Gym - Google Maps",url:"/maps?f=q\x26source=s_q\x26start=0\x26q=stockholm+Gym\x26ie=UTF8\ x26hq=健身房........等等。 我正在替换 while(1);和 ””;在我返回字符串之前。
当我试图解析它时遇到的问题
JSONParser parser = new JSONParser();
String jsonString = "";
// UriHandler.mapSearchJson是返回jsonString的方法。
String jsonData = UriHandler.mapSearchJSON(jsonString);
Object obj = "";
try {
obj = parser.parse(jsonData);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JSONObject jsonObj = (JSONObject) obj;
String title = (String) jsonObj.get("title");
System.out.println(title);
这给了我一个例外。 位置 2 出现意外字符 (t)。
当我调试它时。一直到它试图解析字符串时。那么 obj 就是 = null。
我到底做错了什么。
谢谢!
【问题讨论】:
-
请注意,JSON 的规则比 JavaScript 对象字面量的规则更严格。不带引号的字段名称在对象文字中是可以的,但在 JSON 中则不行。