gpt4 book ai didi

java - 不使用外部库读取 JSON 文件(仅使用 org.json 更新)

转载 作者:行者123 更新时间:2023-12-01 13:01:24 26 4
gpt4 key购买 nike

我有一个作业,我必须读取包含选举信息的 json 文件并保存我得到的数据。问题是我不能使用任何外部库,比如简单的 json 等。教授建议我做了这样的事情:

FileInputStream fin = new FileInputStream(new File(filename));
JSONTokener tokener = new JSONTokener(fin);
JSONObject elections = new JSONObject(tokener);

JSONArray candidates = elections.getJSONArray("candidates"); JSONArray
ballots = elections.getJSONArray("ballots");

然后我可以通过

访问我的候选人
candidates.getString(i)

还有我的选票

JSONArray ballot = ballots.getJSONArray(i)

但是当我运行代码时,出现以下异常:

org.json.JSONException: A JSONObject text must begin with '{' at 6 [character 1 line 6]
at org.json.JSONTokener.syntaxError(JSONTokener.java:433)
at org.json.JSONObject.<init>(JSONObject.java:194)
at Schulze.main(Schulze.java:17)

异常来自这行代码:

JSONObject elections = new JSONObject(tokener);

json 文件内容是这样的:

{ "candidates": [ "a", "b", "c", "d" ], "ballots": [ [0, 2, 3, 1], [0, 2, 3, 1], [0, 2, 3, 1], [0, 2, 3, 1], [0, 2, 3, 1], [0, 2, 3, 1],

   [1, 0, 3, 2],
[1, 0, 3, 2],
[1, 0, 3, 2],
[1, 0, 3, 2],

[2, 3, 1, 0],
[2, 3, 1, 0],
[2, 3, 1, 0],

[3, 1, 0, 2],
[3, 1, 0, 2],
[3, 1, 0, 2],
[3, 1, 0, 2],

[3, 2, 1, 0],
[3, 2, 1, 0],
[3, 2, 1, 0],
[3, 2, 1, 0] ] }

对于这里可能出现的问题有什么想法吗?

最佳答案

json 文件仍然是普通的文本文件。您可以忽略 org.json 并使用处理文本文件的普通 Java 代码读取该文件。这不需要任何外部库。

关于java - 不使用外部库读取 JSON 文件(仅使用 org.json 更新),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23489104/

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