需求:使用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文件相关推荐

  1. Java生成Json文件添加到ZIP压缩并导出

    Java生成Json文件添加到ZIP压缩并导出 前言 代码说明 小结 前言 需要根据在前端选择的文件列表生产Json文件并导出Zip文件 代码说明 前端部分的方法: // 导出选中的文件exportF ...

  2. java生成Json文件

    目录 使用工具 使用说明 Website.java JsonFormatTool.java CreateFileUtil.java Main.java pom.xml 效果展示 转载: http:// ...

  3. JAVA 实现 json文件的生成与导出

    本人对于java的语法不是很熟,算是半路突然入坑这种,之前实现过python生成json文件并导出.json文件: 怎料java的语法有些出入,现整理做个笔记: 推荐个Json格式化工具:json格式 ...

  4. Java 读取 JSON 文件转成 Map 对象

    Java 读取 JSON 文件转成 Map 对象 应用场景 待读取的外部 JSON 文件 Java 代码 读取结果 Gson 应用场景 Jar 包或 War 包引用一个外部文件作为项目运行的配置文件 ...

  5. 超详细的java生成excel文件并下载

    在网上随手一搜,可以搜到很多java生成excel文件相关的博客,但每个都有不同,核心点说清楚了,但具体运用的时候,相信大家或多或少都没法一次直接运用,这样每次去找并且运用的时候很费时间,所以这也是我 ...

  6. POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解...

    http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...

  7. zipentry压缩乱码linux,java生成压缩文件 ZipEntry出现乱码的有关问题

    java生成压缩文件 ZipEntry出现乱码的问题 在项目中,一次导出的文件有好几个,而且文件内容比较大,最后考虑到把文件进行压缩在下载,开始试用JDK自带的ZIP压缩包时,ZipEntry ze ...

  8. java流与文件——java生成解压缩文件(夹)

    [0]README 0.1) 本文描述转自 http://blog.csdn.net/chenssy/article/details/9622171 , 旨在理解 java流与文件--java生成解压 ...

  9. qt先生成json文件后程序启动时读取json文件在一组数据模拟下正常,换一组数据就出现乱码

    提要 程序编号后自己模拟的数据程序在生成和解析json时都正常,但是换了一组数据,生成的json文件中部分中文乱码,且出现json文件的格式被混乱的现象. 效果 上述出现的不正确的json文件,如下: ...

最新文章

  1. C++ 类模板的使用
  2. 中国航信官笔试计算机基础,中国航信笔试题目
  3. [bzoj2506] calc
  4. ListView性能[译]
  5. bzoj2820: YY的GCD
  6. vb 字符串长度_一起学VB——什么是过程
  7. STC学习:振动传感器
  8. 打补丁更新不适用计算机,安装补丁“此更新不适用于你的计算机”解决办法
  9. 《关于促进大数据发展的行动纲要》提出三大指导意见
  10. Java 调用SAP PI PO 的Rest JSON接口
  11. 《个人信息安全规范》会让我们的信息更安全吗?
  12. js实现数组按拼音排序
  13. 合天网安 Weekly CTF 刷题合集
  14. C语言——是否为闰年的判断
  15. c语言中calloc是什么意思,calloc(c语言calloc是什么意思)
  16. signature=4d7e0a8216b57730ec16fe4e5ae2b93f,dragonfly对接harbor拉取镜像没有走dragonfly问题
  17. 语音服务器搭建,教你自建团队语音服务器
  18. linux mud 游戏,150919神奇的mud
  19. 微信小程序休眠setTimeout
  20. 雷达原理-雷达发射机

热门文章

  1. 怎么制作真人qq秀_「惠生活 乐文化」酷炫!全国首个实景崖壁灯光演艺秀《剑门长歌》亮相剑门关...
  2. NFT潮鞋AR互动零基础教程来啦!
  3. 学java记不住单词怎么办_【英语单词和句子记不住怎么办?我很想学好英语,但是记不住句子和单词.】作业帮...
  4. uniapp保存图片到相册demo效果(整理)
  5. CSS3的新单位vw、vh、vmin、vmax
  6. win11 合盖不休眠设置
  7. 大数据学习之推荐算法真的很牛逼吗?
  8. Python 程序实现电脑自动定时关机
  9. Web前端HTML+CSS零基础入门知识总结
  10. c语言文件操作管理(下)