У меня возникла эта проблема, когда я продолжаю получать эту странную ошибку, когда я запускаю эту простую программу в командной строке
Здесь файл 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/
Я не знаю, что я сделал здесь неправильно, пожалуйста, помогите!
Я создал файл и вставил {"count":"21740"}
в этот файл и назвал его test.json. Мне удалось запустить код без ошибок.
Но для отладки вашей проблемы вы можете запустить свой код с помощью строки json, переданной в синтаксический анализатор, как показано ниже;
JSONObject jsonObject = (JSONObject) jsonParser.parse("{\"count\":\"21740\"}");