📜  控制台中漂亮的打印 json - Java (1)

📅  最后修改于: 2023-12-03 15:39:50.405000             🧑  作者: Mango

以控制台中漂亮的打印 json - Java

在开发过程中,我们经常需要打印 JSON 数据,但是默认的打印效果可能不太友好。本文将介绍如何在 Java 中控制台中漂亮地打印 JSON 数据。

前置知识

在介绍如何漂亮地打印 JSON 数据之前,我们需要先了解一些基本的知识点:

  1. JSON 是一种轻量级的数据交换格式,通常用于前后端数据交互。
  2. 在 Java 中,我们可以使用 JSONObjectJSONArray 类来处理 JSON 数据。这两个类都是 org.json 包中的。
  3. 为了保证漂亮的打印效果,我们需要用到 Jackson 库。这个库可以将 JSON 数据转成一个对象,并且可以格式化输出。
添加依赖项

在开始之前,我们需要添加 Jackson 库的依赖项。在 pom.xml 文件中添加以下内容:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.7.3</version>
</dependency>
漂亮地打印 JSON

在使用 Jackson 库之前,我们需要先将 JSON 数据转成一个对象。可以使用 ObjectMapper 类来实现这一点。以下是一个示例代码:

import com.fasterxml.jackson.databind.ObjectMapper;
import org.json.JSONObject;

public class Main {
    public static void main(String[] args) {
        String jsonData = "{\"name\":\"张三\",\"age\":20,\"message\":{\"content\":\"Hello World!\",\"type\":\"text\"}}";
        ObjectMapper mapper = new ObjectMapper();
        try {
            Object jsonObject = mapper.readValue(jsonData, Object.class);
            System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonObject));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

以上代码会输出以下结果:

{
  "name" : "张三",
  "age" : 20,
  "message" : {
    "content" : "Hello World!",
    "type" : "text"
  }
}

我们可以看到,输出的 JSON 数据已经排版过了,更加友好和易读。

总结

本文介绍了如何在 Java 中控制台中漂亮地打印 JSON 数据。要实现这个功能,我们需要添加 Jackson 库的依赖项,并且使用 ObjectMapper 类来实现对 JSON 数据的转换和格式化输出。