gpt4 book ai didi

java - 简单 JSON 意外标记 { 位置 > 1

转载 作者:行者123 更新时间:2023-11-30 02:50:09 25 4
gpt4 key购买 nike

我尝试使用 JSON simple 作为 Java 应用程序的一部分从 .json 文件中提取特定数据。每当我运行该程序时,当它尝试解析时,我都会收到意外的 token 错误消息。

JSON 文件的简化版本如下:

{"id":123,"text":"sample1","user":{"id":111,"name":"username"},"lang":"en"}
{"id":345,"text":"sample2","user":{"id":555,"name":"user2"},"lang":"en"}

我的代码如下:

public static void readJSON() {

JSONParser jsonParser = new JSONParser();
try {

FileReader reader = new FileReader(fileLocation);
JSONObject jsonObject = (JSONObject) jsonParser.parse(reader);
JSONArray jsonArray = (JSONArray) jsonObject.get("");

Iterator<?> i = jsonArray.iterator();

while (i.hasNext()) {
JSONObject obj = (JSONObject) i.next();
int tweetID = (int) obj.get("id");
String lang = (String) obj.get("lang");
}
} catch (Exception e) {
e.printStackTrace();
}
}

在此示例中,代码行:

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

由于第二个 JSON 对象的第一个左大括号 ({) 处出现意外标记(即“id”:345 之前的大括号处),因此引发错误。

我该如何解决这个问题?并且,作为后续操作,如何提取本示例中的用户名信息?

感谢您花时间阅读本文并提供任何帮助!

最佳答案

该文件是无效的 JSON 文件,它的每一行都包含一个完整的对象。

您需要做的是逐行读取文件,然后将每一行传递给解析器以创建一个新对象。

关于java - 简单 JSON 意外标记 { 位置 > 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38956650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com