簡體   English   中英

在不使用外部庫的情況下讀取JSON文件(僅使用org.json更新)

[英]Read JSON file without using external libraries (update using only org.json)

我有一個作業,我必須讀取一個包含選舉信息的json文件並保存我得到的數據。 問題是我不能使用任何外部庫,例如簡單的json等。proffessor認為我做了這樣的事情:

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文件的內容如下所示:

{“候選人”:[“ a”,“ b”,“ c”,“ d”],“選票”:[[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代碼讀取文件。 這不需要任何外部庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM