java - java : 的 JSON 解析器错误

标签 java json parsing

我想解析一个json文件,这是我的代码:

import org.json.JSONArray;
import org.json.JSONObject;

public class principale {


    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String fichier ="C:\\listesanscoord.json";
        JSONObject obj = new JSONObject("fichier");
        String pageName = obj.getJSONObject("pageInfo").getString("pageName");

        JSONArray arr = obj.getJSONArray("oaci");
        for (int i = 0; i < arr.length(); i++)
        {
            String url = arr.getJSONObject(i).getString("url");

        }
    }

}

这是我的 json 文件: listesanscoord.json 我有以下错误:

Exception in thread "main" org.json.JSONException: A JSONObject text must begin with '{' at 1 [character 2 line 1]
    at org.json.JSONTokener.syntaxError(JSONTokener.java:433)
    at org.json.JSONObject.<init>(JSONObject.java:198)
    at org.json.JSONObject.<init>(JSONObject.java:325)
    at metar.principale.main(principale.java:13)

有人可以帮我吗,我找不到问题出在哪里,谢谢。

最佳答案

@nogard 答案的扩展中,我检测到文件中的 JSON 文本中有错误,JSON 字符串类似于 java map javascript对象有键值对,在你的文件中键定义错误,它应该用双引号(“”)所以键值对看起来像“key":"value String""key":value Number。欲了解更多信息,请查看link .

修改后,您的 json 将如下所示。

[
    {
        "oaci": "LFXA",
        "aeroport": "Aérodrome d'Ambérieu",
        "url": "https://fr.wikipedia.org/wiki/A%C3%A9rodrome_d%27Amb%C3%A9rieu",
        "commune": "Chateau-Gaillard, Ambronay"
    }
    //more json objects 
]

如果您像上面那样修改 json 文件将解决您的问题。

关于java - java : 的 JSON 解析器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33801462/

相关文章:

java - 使用 jnlp 文件在小程序中无法进行延迟 jar 加载的原因可能是什么?

c# - 查找 SQL 语句字符串中外层 FROM 子句的索引

parsing - 如何将 ANTLR 语法文件拆分为多个文件

java - 常量和内部类

java - while (scanner.hasNext()) 循环不工作两次? java

Javascript:在 alpacajs 表单名称字段中使用括号?

json - 如何将 JSON 反序列化为 Swift 对象?

php - PHP解析/语法错误;以及如何解决它们

java扩展最终变量

java - 多对一关系的无限递归错误