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

下面是详细讲解“JAVA 格式化JSON数据并保存到json文件中的实例”的攻略。

1. 引入依赖

在JAVA中对JSON格式化的操作一般使用 GSON 库。在项目中需要先引入 GSON 库的依赖。

Maven依赖:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.5</version>
</dependency>

Gradle依赖:

implementation 'com.google.code.gson:gson:2.8.5'

2. 创建Java对象

首先我们需要创建对应的Java对象,比如一个用户类:

public class User {
    private String name;
    private int age;
    private String[] hobbies;

    // 构造函数、getter、setter省略
}

3. 将Java对象转化为JSON

将Java对象转换为JSON数据非常简单,只需要使用 Gson 类中的 toJson 方法即可。

User user = new User();
user.setName("张三");
user.setAge(20);
user.setHobbies(new String[]{"阅读", "旅游"});

String json = new Gson().toJson(user);
System.out.println(json);

输出结果为:

{
    "name": "张三",
    "age": 20,
    "hobbies": [
        "阅读",
        "旅游"
    ]
}

4. 将JSON格式化并保存到文件中

对于上面的例子,我们可以将生成的JSON字符串进行格式化,并将其保存到一个文件中。

try (FileWriter writer = new FileWriter("user.json")) {
    Gson gson = new GsonBuilder().setPrettyPrinting().create();
    gson.toJson(user, writer);
} catch (IOException e) {
    e.printStackTrace();
}

通过上面的操作,我们可以将JSON数据格式化,并保存到user.json文件中。

示例1:对复杂的JSON数据进行格式化并保存

下面是一个比较复杂的JSON格式的示例数据:

{
  "userId": 1,
  "firstName": "John",
  "lastName": "Doe",
  "contacts": [
    {
      "type": "email",
      "value": "john.doe@example.com"
    },
    {
      "type": "phone",
      "value": "123-456-789"
    }
  ],
  "address": {
    "street": "123 Main Street",
    "city": "New York",
    "state": "NY",
    "zipCode": "10001"
  }
}

对于上面的JSON格式的数据,我们需要定义对应的Java类:

public class Contact {
    private String type;
    private String value;

    // 构造函数、getter、setter省略
}

public class Address {
    private String street;
    private String city;
    private String state;
    private String zipCode;

    // 构造函数、getter、setter省略
}

public class User {
    private long userId;
    private String firstName;
    private String lastName;
    private List<Contact> contacts;
    private Address address;

    // 构造函数、getter、setter省略
}

我们可以通过以下方式将其对应的Java对象转化为JSON,并格式化和保存到文件中。

User user = new User();
user.setUserId(1L);
user.setFirstName("John");
user.setLastName("Doe");

Contact email = new Contact();
email.setType("email");
email.setValue("john.doe@example.com");

Contact phone = new Contact();
phone.setType("phone");
phone.setValue("123-456-789");

List<Contact> contacts = new ArrayList<>();
contacts.add(email);
contacts.add(phone);

user.setContacts(contacts);

Address address = new Address();
address.setStreet("123 Main Street");
address.setCity("New York");
address.setState("NY");
address.setZipCode("10001");

user.setAddress(address);

try (FileWriter writer = new FileWriter("user.json")) {
    Gson gson = new GsonBuilder().setPrettyPrinting().create();
    gson.toJson(user, writer);
} catch (IOException e) {
    e.printStackTrace();
}

示例2:读取JSON文件并转化为对应的Java对象

有时我们需要读取JSON文件,并将其转化为对应的Java对象。下面是一个user.json文件中存储的数据:

{
    "name": "张三",
    "age": 20,
    "hobbies": [
        "阅读",
        "旅游"
    ]
}

我们可以通过以下方式读取JSON文件,并将其转化为对应的Java对象。

try (FileReader reader = new FileReader("user.json")) {
    Gson gson = new Gson();
    User user = gson.fromJson(reader, User.class);
    System.out.println(user.getName());
    System.out.println(user.getAge());
} catch (IOException e) {
    e.printStackTrace();
}

通过上面的操作,我们可以将user.json文件中存储的JSON数据读取,并转化为对应的Java对象。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA 格式化JSON数据并保存到json文件中的实例 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • java实现轻量型http代理服务器示例

    Java实现轻量型HTTP代理服务器示例 在本攻略中,我们将使用Java编程语言演示如何实现一个轻量型的HTTP代理服务器。HTTP代理服务器是一种可以用于加速Web应用程序的常用中间件,其可以缓存常见的HTTP请求以减少Web服务器的负载。它也可以提供安全性功能,例如过滤内容和验证客户端请求。接下来就跟随本攻略一步步了解Java实现轻量型HTTP代理服务器…

    Java 2023年5月19日
    00
  • java编程小白进阶包的作用详解

    Java编程小白进阶包的作用详解 简介 Java编程小白进阶包是一个帮助Java初学者进阶的工具包,它包括了大量实用的工具类和基础知识的讲解,可以快速提升初学者的编程水平。 功能 Java编程小白进阶包的主要功能包括: 1. 工具类 Java编程小白进阶包提供了很多实用的工具类,例如字符串处理、日期时间处理、集合操作等等。这些工具类都经过了精心设计和优化,可…

    Java 2023年5月23日
    00
  • Lombok在idea中的使用教程

    这里我将详细讲解 Lombok 在idea中的使用教程。 Lombok是什么 Lombok 是一个简化 Java 代码的工具,通过使用注解来消除一些必须有但显得很臃肿的 Java 代码。 安装Lombok 首先,我们需要在项目的 maven 配置文件中,添加如下依赖: <dependency> <groupId>org.project…

    Java 2023年5月26日
    00
  • java导出dbf文件生僻汉字处理方式

    下面是java导出dbf文件生僻汉字处理方式的完整攻略。 总体思路 在java中,如果需要导出dbf文件中含有生僻汉字,需要进行字符集的转换,防止乱码。具体步骤如下: 将生僻汉字以GBK编码存储到List或数组中。 将List或数组中的每个字符转换成Unicode编码,并转换成16进制格式的字符串,存储到新的List或数组中。 使用Apache POI相关类…

    Java 2023年5月26日
    00
  • java io文件操作从文件读取数据的六种方法

    Java IO是Java编程语言的核心库之一,它通过提供一组类和接口,使我们能够进行文件和数据流的操作。在Java IO中,文件读取是常见的操作之一。下面我们将介绍Java IO文件操作从文件读取数据的六种方法。 方法一、使用FileInputStream和Scanner类 首先使用FileInputStream类创建一个字节流对象。 创建一个Scanner…

    Java 2023年5月20日
    00
  • SpringBoot各种注解详解

    下面我将为您讲解“SpringBoot各种注解详解”的完整攻略,包含以下内容: Spring Boot的注解概述 常用注解解释与使用示例 自定义注解解释与使用示例 Spring Boot的注解概述 在Spring Boot中,有几百个注解可供使用。不过,我们只需要了解并掌握其中的一小部分。Spring Boot中的注解可以分为以下几类: 核心注解:用于Spr…

    Java 2023年5月15日
    00
  • Java SpringBoot实现文件上传功能的示例代码

    下面是Java SpringBoot实现文件上传功能的详细攻略: 1. 项目依赖 首先需要在SpringBoot项目中引入以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-…

    Java 2023年5月19日
    00
  • 多种方法实现当jsp页面完全加载完成后执行一个js函数

    实现当JSP页面完全加载完成后执行一个JS函数,可以通过以下两种方法实现: 方法一:window.onload 在window对象上添加onload事件处理程序,当JSP页面全部加载完成后就会执行该处理程序。在该处理程序中可以调用JS函数。 <script> window.onload = function() { myFunction(); }…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部