JSONObject文本必须以' {'

时间:2014-05-18 03:43:41

标签: java json

我有一个' {'在开头,这是我的json文件

{
    "Rooms": [
        {"x":1},
        {"y":1}
    ]
}

也许它无法读取文件? 这是我的代码:

JSONTokener tokener = new JSONTokener("res/MAP.JSON");
JSONObject test = new JSONObject(tokener);

2 个答案:

答案 0 :(得分:5)

JSONTokener tokener = new JSONTokener("res/MAP.JSON");

这不会从文件res/MAP.JSON中读取。这会尝试将字符串"res/MAP.JSON"标记为JSON。由于该字符串不是JSON,因此不起作用。

如果您想从文件中读取,请尝试传入java.io.FileReader

JSONTokener tokener = new JSONTokener(new FileReader("res/MAP.JSON"));

答案 1 :(得分:0)

来自http://www.json.org/javadoc/org/json/JSONTokener.html

" JSONTokener获取源字符串并从中提取字符和标记。它由JSONObject和JSONArray构造函数用于解析JSON源字符串。"

JSONTokener没有为您阅读该文件。它只是标记你提供的字符串。

您提供的JSON有问题。

使用JsonLint验证您的JSON:http://www.jsonlint.com

它有助于查看MAP.JSON的内容。