zoukankan      html  css  js  c++  java
  • 如何使用jackson美化输出json/xml

    如何使用jackson美化输出json/xml

    1.美化POJO序列化xml

    下面将POJO列化为xml并打印。

    Person person = new Person();
    //设置person属性

    ObjectMapper mapper = new XmlMapper();

    System.out.println(mapper.writeValueAsString(person));

    但是输出为紧凑模式:

    <Person><name>Hello world</name><age>12</age></Person>

    2.目的:美化过的输出

    有时希望能够美化输出,更方便阅读和理解,如:

    <Person>
    <name>Hello world</name>
    <age>12</age>
    </Person>

    方式1.使用:writerWithDefaultPrettyPrinter

    ObjectMapper mapper = new XmlMapper();
    System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(person));
    mapper.enable(SerializationFeature.INDENT_OUTPUT);

    方式2.使用:SerializationFeature.INDENT_OUTPUT

    ObjectMapper mapper = new XmlMapper();
    mapper.enable(SerializationFeature.INDENT_OUTPUT);
    mapper.writeValueAsString(person);

    3.序列化为json

    序列化为json时,操作基本一致,只需要使用ObjectMapper替代XmlMapper。如:

    Person person = new Person();
    //设置person属性

    ObjectMapper mapper = new ObjectMapper();

    System.out.println(mapper.writeValueAsString(person));

    激活美化的方式,同样可以是2.1和2.2介绍的方式。

    4.包依赖

    序列化为xml依赖:

    • jackson-databind
    • jackson-core
    • jackson-dataformat-xml

    序列化为json依赖:

    • jackson-databind
    • jackson-core
    <dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
    <version>2.8.2</version>
    </dependency>
    <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.8.2</version>
    </dependency>
    <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.8.2</version>
    </dependency>
    作者:墨梅
    欢迎任何形式的转载,但请务必注明出处。
  • 相关阅读:
    使用鼠标
    TCP编程函数和步骤
    ASP.NET MVC+EF框架+EasyUI实现
    线性表简介
    一个项目的简单开发流程——需求、数据库、编码
    图像处理网络资源
    OPENCV 中的图像旋转与缩放
    命令行下面使用MAKEFILE方式编译OPENCV程序
    OpenCV In Thanksgiving Day
    OpenCV 下面的图像亮度变换 Intensity transformation
  • 原文地址:https://www.cnblogs.com/jpfss/p/9055748.html
Copyright © 2011-2022 走看看