Неожиданный токен LEFT BRACE ({) в позиции 4

Я изучаю Spring Framework и разбираю данные JSON, но он показывает:

Unexpected token LEFT BRACE({) at position 4.

Однако затмение не показало никаких признаков ошибки.

Вот мой источник контроллера:

@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 <-Вот прокручиваемая копия

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
3 053
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Это означает, что ваш json плохой. Eclipse не может его поймать, потому что это ошибка времени выполнения.

о, затмение - это не улов json ... Но я, кошка, понимаю, когда-нибудь показывает ошибку в json-файле, это ошибка ecilpse?

sucket 03.08.2018 09:09
Ответ принят как подходящий

Вы должны взглянуть на свою переменную inline. И вы должны объявить эту переменную как thisString inline = "";, а не String inline = null;, что заставит строку, которую вы сращиваете, начинать с "null"

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;
}

Добро пожаловать в Stack Overflow! Хотя этот код может решить вопрос, включая объяснение о том, как и почему это решает проблему, действительно поможет улучшить качество вашего сообщения и, вероятно, приведет к большему количеству голосов за. Помните, что вы отвечаете на вопрос для будущих читателей, а не только для человека, который задает его сейчас. Пожалуйста, редактировать свой ответ, чтобы добавить пояснения и указать, какие ограничения и предположения применяются.

Dharman 18.12.2019 23:17

Другие вопросы по теме