0
我正在使用Gson來寫入和讀取文件。Java JSON - gson - 追加新數據,格式不正確JSON
每次創建用戶時,我都會添加一行顯示用戶名和ID的行。
我這樣做有以下(UserAccount是我的POJO類,br爲我的讀者緩衝)::
UserAccount accountObj = new UserAccount();
FileWriter writer = new FileWriter("store.json", true);
accountObj.setUser(NewUserMethod());
accountObj.setID(NewIDMethod());
String json = gson.toJson(accountObj);
writer.write(json);
writer.close();
這使得JSON文件,它的工作 - 這樣的:
{"USER":"noob123","ID":"99"}
當新用戶這樣做,它會追加下一行,像這樣::
{"USER":"noob123","ID":99}{"USER":"pro321","ID":100}
當我嘗試讀取這個JSON文件,我得到了以下錯誤::
"use JsonReader.setLenient(true) to accept malformed JSON at line 1, column 36"
所以我的理解可能是不正確的格式,可能需要這樣的東西::
{"ACCOUNT":{"USER":"noob123","ID":99},"ACCOUNT":{"USER":"pro321","ID":100}}
我已經花了一些時間試圖在這一創建JSON格式,或者至少在使用匹配的USER名稱時引用正確的USER鍵。任何幫助是極大的讚賞。
謝謝
你需要把它寫成一個JSON數組,即用'[]'包圍。但是,您需要讀取整個文件,追加'UserAccount',並再次寫入整個文件 - 不能簡單地追加。 –