簡體   English   中英

使用Libgdx編寫和讀取JSON

[英]Writing and reading JSON with Libgdx

JsonBeans的JsonBeans非常混淆。 嘗試將游戲進度保存並加載到本地存儲中。 初始化文件:

file=Gdx.files.local(FILENAME);

讀取json:

if (file.exists()) {
        JsonReader jsonReader = new JsonReader();
        JsonValue jv = jsonReader.parse(file.reader());
        levels = jv.getInt(LEVELS, 1);
}

應用程序死於NullPointerExceptionlevels = jv.getInt(LEVELS, 1); jvnull )。

但是寫也行不通,輸出文件為空:

Json json=new Json(JsonWriter.OutputType.json);
json.setWriter(file.writer(true));
json.writeObjectStart();
json.writeValue(LEVELS, levels);
json.writeObjectEnd();

有什么建議么? 提前致謝。

請嘗試使用Gdx.files.internal而不是Gdx.files.local,因為您可能沒有寫入本地存儲的權限。

對於以管理員身份運行的桌面(我認為足夠了)

對於android,添加對Android清單的寫/讀權限。

Goddamn,Libgdx Wiki上的教程非常沒有信息。 首先,從未提到過將Writer設置為Json實例所需的條件,其次,在讀完之后,感覺仍然是Json類完成了在磁盤上記錄json的所有工作,但事實並非如此。 您需要自己執行此操作:

file.writeString(json.prettyPrint(progress), false);

之后,所有的工作。 感謝大家。

暫無
暫無

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

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