JAVA 格式化JSON数据并保存到json文件中的实例

 更新时间:2020年10月19日 09:48:12   作者:长谷平川独留衣  
这篇文章主要介绍了JAVA 格式化JSON数据并保存到json文件中的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

使用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文件中的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot ScheduledTaskRegistrar解决动态定时任务思路详解

    SpringBoot ScheduledTaskRegistrar解决动态定时任务思路详解

    本文将从问题出发,详细介绍ScheduledTaskRegistrar类是如何解决动态调整定时任务的思路,并给出关键的代码示例,帮助大家快速地上手学习
    2023-02-02
  • 基于Jackson实现API接口数据脱敏的示例详解

    基于Jackson实现API接口数据脱敏的示例详解

    用户的一些敏感数据,例如手机号、邮箱、身份证等信息,在数据库以明文存储,但在接口返回数据给浏览器(或三方客户端)时,希望对这些敏感数据进行脱敏,所以本文就给大家介绍以恶如何利用Jackson实现API接口数据脱敏,需要的朋友可以参考下
    2023-08-08
  • IDEA2022版本创建maven web项目的两种方式详解

    IDEA2022版本创建maven web项目的两种方式详解

    创建maven web项目有两种方式,一种是使用骨架方式,一种是不使用骨架的方式,本文结合实例代码给大家介绍了IDEA2022版本创建maven web项目的两种方式,需要的朋友可以参考下
    2023-02-02
  • Spring cloud oauth2如何搭建认证资源中心

    Spring cloud oauth2如何搭建认证资源中心

    这篇文章主要介绍了Spring cloud oauth2如何搭建认证资源中心,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • MyBatis特殊字符转义拦截器问题针对(_、\、%)

    MyBatis特殊字符转义拦截器问题针对(_、\、%)

    这篇文章主要介绍了MyBatis特殊字符转义拦截器问题针对(_、\、%),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • java项目中classpath的理解

    java项目中classpath的理解

    这篇文章介绍了java项目中classpath的理解,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • 了解java中对象基础Object类

    了解java中对象基础Object类

    本文主要讲解了java中对象基础Object类,文中运用大量代码讲解的非常详细,想学习相关知识的小伙伴可以参考一下这篇文章
    2021-09-09
  • Springboot错误处理机制实现原理解析

    Springboot错误处理机制实现原理解析

    这篇文章主要介绍了springboot错误处理机制实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 详解Java子线程异常时主线程事务如何回滚

    详解Java子线程异常时主线程事务如何回滚

    如果主线程向线程池提交了一个任务,如果执行这个任务过程中发生了异常,如何让主线程捕获到该异常并且进行事务的回滚?本篇文章带给你答案
    2022-03-03
  • 在Docker中部署Spring Boot项目过程详解

    在Docker中部署Spring Boot项目过程详解

    这篇文章主要介绍了在Docker中部署Spring Boot项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论