[英]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.