JAVA 格式化JSON數(shù)據(jù)并保存到j(luò)son文件中的實(shí)例
使用fastjson格式化json數(shù)據(jù)并保存到文件
/**
* 將JSON數(shù)據(jù)格式化并保存到文件中
* @param jsonData 需要輸出的json數(shù)
* @param filePath 輸出的文件地址
* @return
*/
public static boolean createJsonFile(Object jsonData, String filePath) {
String content = JSON.toJSONString(jsonData, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue,
SerializerFeature.WriteDateUseDateFormat);
// 標(biāo)記文件生成是否成功
boolean flag = true;
// 生成json格式文件
try {
// 保證創(chuàng)建一個新文件
File file = new File(filePath);
if (!file.getParentFile().exists()) { // 如果父目錄不存在,創(chuàng)建父目錄
file.getParentFile().mkdirs();
}
if (file.exists()) { // 如果已存在,刪除舊文件
file.delete();
}
file.createNewFile();
// 將格式化后的字符串寫入文件
Writer write = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
write.write(content);
write.flush();
write.close();
} catch (Exception e) {
flag = false;
e.printStackTrace();
}
return flag;
}
補(bǔ)充知識:將json格式的數(shù)據(jù)保存到本地
1.創(chuàng)建jsonobject對象
JSONObject jsonObject = new JSONObject();
2.以鍵值的形式存儲數(shù)據(jù)
jsonObject.put(key, value);
3.將json格式的數(shù)據(jù)轉(zhuǎn)化成字符串
jsonObject.toString
4.往本地寫數(shù)據(jù)
//文件路徑
String path = Environment.getExternalStorageDirectory().toString()
+ "/test.txt";
//判斷文件是否存在
File file = new File(path);
if (file.exists()) {
Log.i("myTag", "文件存在");
} else {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
Log.i("myTag", "文件創(chuàng)建成功");
}
try {
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(jsonString.getBytes());
// fileOutputStream.write(sbString.getBytes());
fileOutputStream.close();
Log.i("myTag", "json數(shù)據(jù)保存到成功?。?!");
} catch (Exception e) {
e.printStackTrace();
}
以上這篇JAVA 格式化JSON數(shù)據(jù)并保存到j(luò)son文件中的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
idea 打包的jar運(yùn)行報 "XXX中沒有主清單屬性"
這篇文章主要介紹了idea 打包的jar運(yùn)行報 "XXX中沒有主清單屬性",文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Java實(shí)現(xiàn)銀行ATM系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)銀行ATM系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-04-04
idea中打開項(xiàng)目時import project和open區(qū)別詳解
本文主要介紹了idea中打開項(xiàng)目時import project和open區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
使用Vue+Spring Boot實(shí)現(xiàn)Excel上傳功能
這篇文章主要介紹了使用Vue+Spring Boot實(shí)現(xiàn)Excel上傳,需要的朋友可以參考下2018-11-11
JAVA使用hutool工具實(shí)現(xiàn)查詢樹結(jié)構(gòu)數(shù)據(jù)(省市區(qū))
今天通過本文給大家分享JAVA使用hutool工具實(shí)現(xiàn)查詢樹結(jié)構(gòu)數(shù)據(jù)(省市區(qū)),代碼分為表結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-08-08
Java使用ThreadLocal實(shí)現(xiàn)當(dāng)前登錄信息的存取功能
ThreadLocal和其他并發(fā)工具一樣,也是用于解決多線程并發(fā)訪問,下這篇文章主要給大家介紹了關(guān)于Java使用ThreadLocal實(shí)現(xiàn)當(dāng)前登錄信息的存取功能,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02

