亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ANDROID:如何將數據插入 JSON 文件并將其保存到本地存儲?

ANDROID:如何將數據插入 JSON 文件并將其保存到本地存儲?

牧羊人nacy 2021-11-24 18:46:00
因此,我計劃將輸入的數據存儲到 JSON 文件中,并且希望將該 JSON 文件存儲到手機的本地存儲中。但是我的代碼中有這個錯誤。這是關于 JsonWriter。誰能幫我?// THIS IS MY CODEprivate void writeToFile(OutputStream out, List<Wordbank> wordList) throws IOException{    JsonWriter writer = new JsonWriter(new OutputStreamWriter(out, "UTF-8"));    writer.setIndent(" ");    writeWordbankArray(writer, wordList);    writer.close();}public void writeWordbankArray(JsonWriter writer, List<Wordbank> wordList) throws  IOException{    writer.beginArray();    for(Wordbank wl : wordList){        writeWordbank(writer, wl);    }    writer.endArray();}public void writeWordbank(JsonWriter writer, Wordbank wordbank) throws IOException{    writer.beginObject();    writer.name("English").value(wordbank.getEnglish());    writer.name("Cebuano").value(wordbank.getCebuano());    writer.name("Pronounciation").value(wordbank.getPronounciation());    writer.name("POS").value(wordbank.getPos());    writer.name("Audio").value(wordbank.getAudio());    if(wordbank.getImage() != null || wordbank.getFx() != null){        writer.name("Picture").value(wordbank.getImage());        writer.name("Effect").value(wordbank.getFx());    }else{        writer.name("No name").nullValue();    }    writer.endObject();}// 下面是錯誤2018-10-18 18:48:52.372 4965-4965/com.example.sampleFile/AndroidRuntime: FATAL EXCEPTION: mainProcess: com.example.sampleFile, PID: 4965以上是錯誤。我需要這方面的幫助,請幫幫我!
查看完整描述

2 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

您可以使用另一種方法。以下代碼


writer.name("English").value(wordbank.getEnglish());

writer.name("Cebuano").value(wordbank.getCebuano());

writer.name("Pronounciation").value(wordbank.getPronounciation());

writer.name("POS").value(wordbank.getPos());

writer.name("Audio").value(wordbank.getAudio());

if(wordbank.getImage() != null || wordbank.getFx() != null){

    writer.name("Picture").value(wordbank.getImage());

    writer.name("Effect").value(wordbank.getFx());

}else{

    writer.name("No name").nullValue();

}

告訴我您已經知道會發生什么,您可以創建一個 POJO 類并使用 Gson 庫將該 POJO 對象解析為 JSON 格式的字符串。稍后您可以將其用作


JSONObject jsonObj = new JSONObject(Jsonstring);

這是一個例子


ModelPOJO modelPojo = new ModelPojo();

modelPojo.setEnglish("value");


Gson gson = new Gson();

String jsonString = gson.toJson(modelPojo);

jsonString 是必需的字符串。要將其寫入本地存儲,您可以采用@jake breen 的方法。


希望能幫助到你 !:)


查看完整回答
反對 回復 2021-11-24
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

try {

            File file = new File("<storage location>" + filename + ".json");

            Writer writer = new BufferedWriter(new FileWriter(file));

            writer.write(jsonObject.toString());

            writer.close();


        } catch (Exception e) {

            Log.e("File Exception: ", e.getMessage());

        }


查看完整回答
反對 回復 2021-11-24
  • 2 回答
  • 0 關注
  • 726 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號