java导出json格式文件的示例代码
发布时间 - 2026-01-11 03:27:19 点击率:次本文介绍了java导出json格式文件的示例代码,分享给大家,具体如下:

生成json文件代码:
import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
public class CreateFileUtil {
/**
* 生成.json格式文件
*/
public static boolean createJsonFile(String jsonString, String filePath, String fileName) {
// 标记文件生成是否成功
boolean flag = true;
// 拼接文件完整路径
String fullPath = filePath + File.separator + fileName + ".json";
// 生成json格式文件
try {
// 保证创建一个新文件
File file = new File(fullPath);
if (!file.getParentFile().exists()) { // 如果父目录不存在,创建父目录
file.getParentFile().mkdirs();
}
if (file.exists()) { // 如果已存在,删除旧文件
file.delete();
}
file.createNewFile();
// 格式化json字符串
jsonString = JsonFormatTool.formatJson(jsonString);
// 将格式化后的字符串写入文件
Writer write = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
write.write(jsonString);
write.flush();
write.close();
} catch (Exception e) {
flag = false;
e.printStackTrace();
}
// 返回是否成功的标记
return flag;
}
}
json字符串格式化工具代码:
public class JsonFormatTool {
/**
* 单位缩进字符串。
*/
private static String SPACE = " ";
/**
* 返回格式化JSON字符串。
*
* @param json 未格式化的JSON字符串。
* @return 格式化的JSON字符串。
*/
public static String formatJson(String json) {
StringBuffer result = new StringBuffer();
int length = json.length();
int number = 0;
char key = 0;
// 遍历输入字符串。
for (int i = 0; i < length; i++) {
// 1、获取当前字符。
key = json.charAt(i);
// 2、如果当前字符是前方括号、前花括号做如下处理:
if ((key == '[') || (key == '{')) {
// (1)如果前面还有字符,并且字符为“:”,打印:换行和缩进字符字符串。
if ((i - 1 > 0) && (json.charAt(i - 1) == ':')) {
result.append('\n');
result.append(indent(number));
}
// (2)打印:当前字符。
result.append(key);
// (3)前方括号、前花括号,的后面必须换行。打印:换行。
result.append('\n');
// (4)每出现一次前方括号、前花括号;缩进次数增加一次。打印:新行缩进。
number++;
result.append(indent(number));
// (5)进行下一次循环。
continue;
}
// 3、如果当前字符是后方括号、后花括号做如下处理:
if ((key == ']') || (key == '}')) {
// (1)后方括号、后花括号,的前面必须换行。打印:换行。
result.append('\n');
// (2)每出现一次后方括号、后花括号;缩进次数减少一次。打印:缩进。
number--;
result.append(indent(number));
// (3)打印:当前字符。
result.append(key);
// (4)如果当前字符后面还有字符,并且字符不为“,”,打印:换行。
if (((i + 1) < length) && (json.charAt(i + 1) != ',')) {
result.append('\n');
}
// (5)继续下一次循环。
continue;
}
// 4、如果当前字符是逗号。逗号后面换行,并缩进,不改变缩进次数。
if ((key == ',')) {
result.append(key);
result.append('\n');
result.append(indent(number));
continue;
}
// 5、打印:当前字符。
result.append(key);
}
return result.toString();
}
/**
* 返回指定次数的缩进字符串。每一次缩进三个空格,即SPACE。
*
* @param number 缩进次数。
* @return 指定缩进次数的字符串。
*/
private static String indent(int number) {
StringBuffer result = new StringBuffer();
for (int i = 0; i < number; i++) {
result.append(SPACE);
}
return result.toString();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# java导出json文件
# java导出json格式文件
# java
# 导出json
# 利用java读取web项目中json文件为map集合方法示例
# 换行
# 遍历
# 给大家
# 不存在
# 不为
# 创建一个
# 大家多多
# 不改变
# 新文件
# jsonString
# true
# fullPath
# filePath
# flag
# fileName
# separator
# mkdirs
# delete
# createNewFile
# file
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在Windows服务器上快速搭建网站?
如何在云服务器上快速搭建个人网站?
原生JS实现图片轮播切换效果
微信小程序 input输入框控件详解及实例(多种示例)
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
网站页面设计需要考虑到这些问题
如何在IIS中新建站点并配置端口与IP地址?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
javascript中对象的定义、使用以及对象和原型链操作小结
北京网站制作的公司有哪些,北京白云观官方网站?
Python高阶函数应用_函数作为参数说明【指导】
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
Laravel如何处理异常和错误?(Handler示例)
如何快速搭建FTP站点实现文件共享?
Laravel观察者模式如何使用_Laravel Model Observer配置
如何正确选择百度移动适配建站域名?
黑客入侵网站服务器的常见手法有哪些?
怎样使用JSON进行数据交换_它有什么限制
深圳网站制作的公司有哪些,dido官方网站?
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
如何快速搭建高效简练网站?
Linux系统命令中screen命令详解
清除minerd进程的简单方法
,网页ppt怎么弄成自己的ppt?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
Java解压缩zip - 解压缩多个文件或文件夹实例
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
EditPlus中的正则表达式 实战(2)
如何选择PHP开源工具快速搭建网站?
Laravel怎么使用artisan命令缓存配置和视图
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
长沙企业网站制作哪家好,长沙水业集团官方网站?
JavaScript如何实现继承_有哪些常用方法
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
LinuxCD持续部署教程_自动发布与回滚机制
Laravel Session怎么存储_Laravel Session驱动配置详解
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
如何自定义建站之星模板颜色并下载新样式?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
,南京靠谱的征婚网站?
如何用狗爹虚拟主机快速搭建网站?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
Laravel如何创建自定义Facades?(详细步骤)
详解Android中Activity的四大启动模式实验简述
JS中对数组元素进行增删改移的方法总结
Laravel如何生成API文档?(Swagger/OpenAPI教程)
如何用花生壳三步快速搭建专属网站?
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
下一篇:docker 有什么镜像文件
下一篇:docker 有什么镜像文件

