使用fastjson格式化json数据并保存到文件
/**
* 将JSON数据格式化并保存到文件中
* @param jsonData 需要输出的json数
* @param filePath 输出的文件地址
* @return
*/
public static boolean createJsonFile(Object jsonData, String filePath) {
String content = JSON.toJSONString(jsonData, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue,
SerializerFeature.WriteDateUseDateFormat);
// 标记文件生成是否成功
boolean flag = true;
// 生成json格式文件
try {
// 保证创建一个新文件
File file = new File(filePath);
if (!file.getParentFile().exists()) { // 如果父目录不存在,创建父目录
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;
}
补充知识:将json格式的数据保存到本地
1.创建jsonobject对象
JSONObject jsonObject = new JSONObject();
2.以键值的形式存储数据
jsonObject.put(key, value);
3.将json格式的数据转化成字符串
jsonObject.toString
4.往本地写数据
//文件路径
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", "文件创建成功");
}
try {
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(jsonString.getBytes());
// fileOutputStream.write(sbString.getBytes());
fileOutputStream.close();
Log.i("myTag", "json数据保存到成功!!!");
} catch (Exception e) {
e.printStackTrace();
}
以上这篇JAVA 格式化JSON数据并保存到json文件中的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持云海天教程。
原文链接:https://blog.csdn.net/xwang_un/article/details/100778057