java意外标记左大括号({)位于位置4
我正在研究Spring框架并解析JSON数据,但它显示:
Unexpected token LEFT BRACE({) at position 4.
然而,eclipse并没有显示任何错误迹象
以下是我的控制器源代码:
@RequestMapping(value = "/listcall.do", method = RequestMethod.GET)
public void home( @RequestParam("val") String id, HttpServletRequest request , HttpServletResponse response) throws JsonIOException, IOException, ParseException {
response.setCharacterEncoding("utf8");
response.setContentType("application/json");
String valuewhat = id ;
JsonArray jarraySend = new JsonArray();
//System.out.println(request.getParameter("val"));
JSONParser parse = new JSONParser();
FileReader fileReader = new FileReader("D:\\Spring\\sworkspace\\Calendar\\src\\main\\resources\\somelist.json");
Scanner sc = new Scanner(fileReader);
String inline = null;
while(sc.hasNext())
{
inline+=sc.nextLine();
}
JSONObject json = (JSONObject) parse.parse(inline);
JSONArray jarray_1 = (JSONArray) json.get("listing_property_type_information");
for(int i=0;i<jarray_1.size();i++) {
JSONObject jsonobj_1 = (JSONObject)jarray_1.get(i);
//JsonArray jsonarr_2 = (JsonArray) jsonobj_1.get("property_type_groups");
jarray_1 = (JSONArray) jsonobj_1.get("property_type_groups");
for(int j=0;j<jarray_1.size();j++) {
JSONObject jsonobj_2 = (JSONObject) jarray_1.get(j);
//something do.....
}
}
//jarray.add(json);
new Gson().toJson(jarray_1, response.getWriter());
}
我一直在练习模仿AirBNB网站的功能
JSON文件位于:
https://www.airbnb.co.kr/become-a-host/room<-这是一份滚动拷贝
# 1 楼答案
这意味着你的json不好。Eclipse无法捕获它,因为这是一个运行时错误
# 2 楼答案
您应该查看一下
inline
变量。您应该像这样声明这个变量String inline = "";
,而不是String inline = null;
,这将使您拼接的字符串以“null”开头# 3 楼答案