有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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<-这是一份滚动拷贝


共 (3) 个答案

  1. # 1 楼答案

    这意味着你的json不好。Eclipse无法捕获它,因为这是一个运行时错误

  2. # 2 楼答案

    您应该查看一下inline变量。您应该像这样声明这个变量String inline = "";,而不是String inline = null;,这将使您拼接的字符串以“null”开头

  3. # 3 楼答案

    public static  String fetchFromJSONNext() throws FileNotFoundException, IOException, org.json.simple.parser.ParseException  {
    
    
    
    //      String filename=System.getProperty("user.dir")+"\\src\\com\\test\\mtcn1.json";
    
        String filename=System.getProperty("user.dir")+"\\src\\com\\test\\mtcn1.json";
    
    
        //System.out.println(request.getParameter("val"));
        JSONParser parse = new JSONParser();
        FileReader fileReader = new FileReader(filename);
        Scanner sc = new Scanner(fileReader);
        String inline ="";
        String sj ="";
    
        while(sc.hasNext()){
            inline+=sc.nextLine();
    
            JSONObject jsonobj_2 = (JSONObject) parse.parse(inline);
    
    
                    //something do.....
    
                    Object g=jsonobj_2.get("result");
                    JSONObject h = (JSONObject) g;
                    sj=(String) h.get("wutaf_rpcmsg");
    
        }
        return sj;
    }