2014-12-02 3 views
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

Есть ли невидимый символ в начале файла? – Jesper

+0

нет, вот и все в файле – dale

+2

Загрузите файл в службу общего доступа к файлам, чтобы мы могли проверить, есть ли что-то в этом файле. Я знаю, что ты говоришь, что все в порядке, но кто знает. – Pimgd

ответ

1

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

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

JSONObject jsonObject = (JSONObject) jsonParser.parse("{\"count\":\"21740\"}"); 
+0

круто, это сработало. Итак, что могло произойти с моим первоначальным прохождением объекта FileReader? – dale

+0

Я предлагаю создать новый файл и ввести значение и сохранить его как json. Посмотрите, работает ли это. –

+0

ОК, я попробую, спасибо за это – dale

Смежные вопросы