使用java生成json文件
需求:使用java代码生成一个json格式的文件,自定义相关内容
实现:
代码如下:
package com.zt.posts.common.util;
import lombok.extern.slf4j.Slf4j;import org.springframework.util.ResourceUtils;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.io.Writer;import java.util.*;/*** 生成json文件工具类 by xwd*/@Slf4jpublic class JSONUtils {//封装创建json文件的方法public static boolean createJSONFile(Object obj, String fileName){boolean flag = true;try {//获取文件的绝对路径 根路径String filePath = ResourceUtils.getURL("classpath:").getPath();// String fileName = "app";String jsonString = com.alibaba.druid.support.json.JSONUtils.toJSONString(obj);// 拼接文件完整路径// 生成json格式文件String fullPath = filePath + File.separator + fileName + ".json";// 保证创建一个新文件File file = new File(fullPath);if (!file.getParentFile().exists()) { // 如果父目录不存在,创建父目录file.getParentFile().mkdirs();}if (file.exists()) { // 如果已存在,删除旧文件file.delete();}file.createNewFile();//创建新文件if(jsonString.indexOf("'")!=-1){//将单引号转义一下,因为JSON串中的字符串类型可以单引号引起来的jsonString = jsonString.replaceAll("'", "\\'");}if(jsonString.indexOf("\"")!=-1){//将双引号转义一下,因为JSON串中的字符串类型可以单引号引起来的jsonString = jsonString.replaceAll("\"", "\\\"");}if(jsonString.indexOf("\r\n")!=-1){//将回车换行转换一下,因为JSON串中字符串不能出现显式的回车换行jsonString = jsonString.replaceAll("\r\n", "\\u000d\\u000a");}if(jsonString.indexOf("\n")!=-1){//将换行转换一下,因为JSON串中字符串不能出现显式的换行jsonString = jsonString.replaceAll("\n", "\\u000a");}// 将格式化后的字符串写入文件Writer write = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");log.info("json文件内容:" + jsonString);write.write(jsonString);log.info("文件创建成功!");write.flush();write.close();} catch (Exception e) {flag = false;e.printStackTrace();}return flag;}public static void main(String[] args) {Map<String, Object> map = new HashMap<>();List<Object> list = new ArrayList<>();String [] strs = {"近三年公务员年度考核结果曾被定为基本称职","近三年111公务员年度考核结果曾被定为基本称职","近三年2公务员年度考核结果曾被定为基本称职"};for(int i=0; i< strs.length; i++){Map<String, Object> infoMap = new HashMap<>();infoMap.put("id", "00" + (i + 1));infoMap.put("context", strs[i]);list.add(infoMap);}map.put("data", list);//获取文件的绝对路径 根路径// String filePath = ResourceUtils.getURL("classpath:").getPath();String fileName = "app";String jsonString = com.alibaba.druid.support.json.JSONUtils.toJSONString(map);// 拼接文件完整路径// 生成json格式文件// String fullPath = filePath + File.separator + fileName + ".json";boolean success = JSONUtils.createJSONFile(map, fileName);if (success){log.info("ok");}else {log.info("error");}}}
总结:
自定义数据源,以及键名。调用静态方法createJSONFile方法 ,传入集合以及文件名即可生成!
使用java生成json文件相关推荐
- Java生成Json文件添加到ZIP压缩并导出
Java生成Json文件添加到ZIP压缩并导出 前言 代码说明 小结 前言 需要根据在前端选择的文件列表生产Json文件并导出Zip文件 代码说明 前端部分的方法: // 导出选中的文件exportF ...
- java生成Json文件
目录 使用工具 使用说明 Website.java JsonFormatTool.java CreateFileUtil.java Main.java pom.xml 效果展示 转载: http:// ...
- JAVA 实现 json文件的生成与导出
本人对于java的语法不是很熟,算是半路突然入坑这种,之前实现过python生成json文件并导出.json文件: 怎料java的语法有些出入,现整理做个笔记: 推荐个Json格式化工具:json格式 ...
- Java 读取 JSON 文件转成 Map 对象
Java 读取 JSON 文件转成 Map 对象 应用场景 待读取的外部 JSON 文件 Java 代码 读取结果 Gson 应用场景 Jar 包或 War 包引用一个外部文件作为项目运行的配置文件 ...
- 超详细的java生成excel文件并下载
在网上随手一搜,可以搜到很多java生成excel文件相关的博客,但每个都有不同,核心点说清楚了,但具体运用的时候,相信大家或多或少都没法一次直接运用,这样每次去找并且运用的时候很费时间,所以这也是我 ...
- POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解...
http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...
- zipentry压缩乱码linux,java生成压缩文件 ZipEntry出现乱码的有关问题
java生成压缩文件 ZipEntry出现乱码的问题 在项目中,一次导出的文件有好几个,而且文件内容比较大,最后考虑到把文件进行压缩在下载,开始试用JDK自带的ZIP压缩包时,ZipEntry ze ...
- java流与文件——java生成解压缩文件(夹)
[0]README 0.1) 本文描述转自 http://blog.csdn.net/chenssy/article/details/9622171 , 旨在理解 java流与文件--java生成解压 ...
- qt先生成json文件后程序启动时读取json文件在一组数据模拟下正常,换一组数据就出现乱码
提要 程序编号后自己模拟的数据程序在生成和解析json时都正常,但是换了一组数据,生成的json文件中部分中文乱码,且出现json文件的格式被混乱的现象. 效果 上述出现的不正确的json文件,如下: ...
最新文章
- C++ 类模板的使用
- 中国航信官笔试计算机基础,中国航信笔试题目
- [bzoj2506] calc
- ListView性能[译]
- bzoj2820: YY的GCD
- vb 字符串长度_一起学VB——什么是过程
- STC学习:振动传感器
- 打补丁更新不适用计算机,安装补丁“此更新不适用于你的计算机”解决办法
- 《关于促进大数据发展的行动纲要》提出三大指导意见
- Java 调用SAP PI PO 的Rest JSON接口
- 《个人信息安全规范》会让我们的信息更安全吗?
- js实现数组按拼音排序
- 合天网安 Weekly CTF 刷题合集
- C语言——是否为闰年的判断
- c语言中calloc是什么意思,calloc(c语言calloc是什么意思)
- signature=4d7e0a8216b57730ec16fe4e5ae2b93f,dragonfly对接harbor拉取镜像没有走dragonfly问题
- 语音服务器搭建,教你自建团队语音服务器
- linux mud 游戏,150919神奇的mud
- 微信小程序休眠setTimeout
- 雷达原理-雷达发射机
热门文章
- 怎么制作真人qq秀_「惠生活 乐文化」酷炫!全国首个实景崖壁灯光演艺秀《剑门长歌》亮相剑门关...
- NFT潮鞋AR互动零基础教程来啦!
- 学java记不住单词怎么办_【英语单词和句子记不住怎么办?我很想学好英语,但是记不住句子和单词.】作业帮...
- uniapp保存图片到相册demo效果(整理)
- CSS3的新单位vw、vh、vmin、vmax
- win11 合盖不休眠设置
- 大数据学习之推荐算法真的很牛逼吗?
- Python 程序实现电脑自动定时关机
- Web前端HTML+CSS零基础入门知识总结
- c语言文件操作管理(下)