位置2处的意外字符(")JSON Parser(Java)

时间:2015-11-02 10:19:51

标签: java json parsing

这是我的JSON文件开头:

{ “cards” : 
{
    “suite”: “Spades”,
    “value”: “Two”,
    “int_value”: “2”
},
{
    “suite”: “Spades”,
    “value”: “Three”,
    “int_value”: “3”
},
{
    “suite”: “Spades”,
    “value”: “Four”,
    “int_value”: “4”
},

这是我的Parser:

JSONParser jsonParser = new JSONParser();

    try {

        // --------------------
        // parse the JSON file
        FileReader fileReader = new FileReader(JSONFILEPATH);

        JSONObject jsonObject = (JSONObject) jsonParser.parse(fileReader);

        JSONArray allCards = (JSONArray) jsonObject.get("cards");

我试图使用FileReader和JSON以及JSON-Simple库来解析这个JSON文件。我认为我的JSON文件格式是正确的,但我不知道如何克服这个错误:

Unexpected character (“) at position 2.
    at org.json.simple.parser.Yylex.yylex(Unknown Source)
    at org.json.simple.parser.JSONParser.nextToken(Unknown Source)
    at org.json.simple.parser.JSONParser.parse(Unknown Source)
    at org.json.simple.parser.JSONParser.parse(Unknown Source)
    at Deck.main(Deck.java:67)

1 个答案:

答案 0 :(得分:3)

您的JSON不正确。请检查

应该是

{ “cards” : 
    [
        {
            “suite”: “Spades”,
            “value”: “Two”,
            “int_value”: “2”
        },
        {
            “suite”: “Spades”,
            “value”: “Three”,
            “int_value”: “3”
        },
        {
            “suite”: “Spades”,
            “value”: “Four”,
            “int_value”: “4”
        }
    ]
}

使用的引号也应该""而不是“”