继续收到此错误"位置1处的意外字符()。"

时间:2014-12-02 10:24:18

标签: java json

我遇到这个问题,当我在命令行运行这个简单的程序时,我不断收到这个错误的错误

这是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)"

我已在http://jsonlint.com/

验证了json文件

我不知道我在这里做错了什么,请帮忙!

1 个答案:

答案 0 :(得分:1)

我创建了一个文件,并将{"count":"21740"}粘贴到该文件中,并将其命名为test.json。我能够运行代码没有错误。

但是为了调试你的问题,你可以使用直接传递给解析器的json字符串运行你的代码,如下所示;

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