温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

XML和JSON是怎么互相转换

发布时间:2021-10-26 10:35:38 来源:亿速云 阅读:195 作者:iii 栏目:移动开发

本篇内容主要讲解“XML和JSON是怎么互相转换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“XML和JSON是怎么互相转换”吧!

依赖

在Spring Boot或者Spring Cloud的 Web 项目中只需要引入:

<dependency>     <groupId>com.fasterxml.jackson.dataformat</groupId>     <artifactId>jackson-dataformat-xml</artifactId> </dependency>

这个是 jackson 的的 XML 格式化模块,已经自动加入了依赖池。

XML 与 Java 对象互转

XML 和 JSON 互相转换的流程都是先转换为 Java 对象,然后再转换为目标类型。

XmlMapper

XML 转对象需要定义一个XmlMapper,这个对应了转换 JSON  的ObjectMapper,甚至XmlMapper是ObjectMapper的子类。我们来声明一个XmlMapper,你可以new一个,如果你采用了默认的配置的话。

XmlMapper xmlMapper = new XmlMapper();

如果你需要定制推荐使用建造者的方式,比如下面:

XmlMapper build = XmlMapper.builder()                 //  忽略实体类没有对应属性    如果为 true 会抛出异常                .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false)                // 忽略null                .serializationInclusion(JsonInclude.Include.NON_NULL)                // 属性使用 驼峰首字母小写                .propertyNamingStrategy(PropertyNamingStrategy.LOWER_CAMEL_CASE)                .build();

演示

接下来我们来用一个 DEMO 进行演示,先定义一个test.xml的 XML 文件,内容为

<?xml version="1.0" encoding="UTF-8" ?> <User>     <username>felord.cn</username>     <age>18</age>     <created><![CDATA[<2020-10-22>]]></created> </User>

<![CDATA[]]>比转义字符要香的多,可读性更强。

对应的实体类为:

@Data public class User {  private String username;  private Integer age;  // private String created; }

然后利用上面构造的builder来进行转换操作:

ClassPathResource classPathResource = new ClassPathResource("./test.xml"); User user = build.readValue(classPathResource.getFile(), User.class); // Java  User(username=felord.cn, age=18, created=<2020-10-22>) System.out.println("xml file to Java Object " + user); String s = build.writeValueAsString(user); // <User><username>felord.cn</username><age>18</age><created>&lt;2020-10-22></created></User> System.out.println("Java Object to xml string " + s); User u = build.readValue(s, User.class); // Java User(username=felord.cn, age=18, created=<2020-10-22>) System.out.println("xml string to Java Object" + u);

既然能够转对象那么再转 JSON 也没啥难度了。

当然也支持注解的方式。

到此,相信大家对“XML和JSON是怎么互相转换”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI