Продолжайте получать эту ошибку «Неожиданный символ () в позиции 1.»

1

У меня возникла эта проблема, когда я продолжаю получать эту странную ошибку, когда я запускаю эту простую программу в командной строке

Здесь файл Json

{"count":"21740"}

Здесь код

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class EarthQuake {

private static final String filePath = "data.json";

public static void main(String[] args) {

    try {
        // read the json file
        FileReader reader = new FileReader(filePath);

        JSONParser jsonParser = new JSONParser();
        JSONObject jsonObject = (JSONObject) jsonParser.parse(reader);

        // get a String from the JSON object
        String count =  (String) jsonObject.get("count");
        System.out.println("The count is: " + count);


    } catch (FileNotFoundException ex) {
        ex.printStackTrace();
    } catch (IOException ex) {
        ex.printStackTrace();
    } catch (ParseException ex) {
        ex.printStackTrace();
    } catch (NullPointerException ex) {
        ex.printStackTrace();
    }

}

}

Но я всегда получаю эту ошибку

"C:\>java -classpath .;json-simple-1.1.1.jar test
Unexpected character ( ) at position 1.
        at org.json.simple.parser.Yylex.yylex(Yylex.java:610)
        at org.json.simple.parser.JSONParser.nextToken(JSONParser.java:269)
        at org.json.simple.parser.JSONParser.parse(JSONParser.java:118)
        at org.json.simple.parser.JSONParser.parse(JSONParser.java:92)
        at test.main(test.java:22)"

Я проверил json файл по адресу http://jsonlint.com/

Я не знаю, что я сделал здесь неправильно, пожалуйста, помогите!

  • 0
    Есть ли какой-нибудь невидимый символ в начале файла?
  • 0
    нет, это все в файле
Показать ещё 5 комментариев
Теги:

1 ответ

1

Я создал файл и вставил {"count":"21740"} в этот файл и назвал его test.json. Мне удалось запустить код без ошибок.

Но для отладки вашей проблемы вы можете запустить свой код с помощью строки json, переданной в синтаксический анализатор, как показано ниже;

JSONObject jsonObject = (JSONObject) jsonParser.parse("{\"count\":\"21740\"}"); 
  • 0
    круто, это сработало. Так что же могло произойти с моей первоначальной передачей объекта FileReader?
  • 0
    Я предлагаю создать новый файл, ввести значение и сохранить его как json. Посмотри, работает ли это.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню