Jackson 学习笔记 XML转JSON

Posted 笑虾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jackson 学习笔记 XML转JSON相关的知识,希望对你有一定的参考价值。

Jackson 学习笔记 XML转JSON

利用jackson实现 xml 2 json。

依赖

SpringBoot 项目自带了 jackson-databind 省略。只需要添加jackson-dataformat-xml即可。另外version也可以省掉。

     <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-databind</artifactId>
         <version>2.12.3</version>
     </dependency>
	<dependency>
       <groupId>com.fasterxml.jackson.dataformat</groupId>
       <artifactId>jackson-dataformat-xml</artifactId>
       <version>2.12.3</version>
   </dependency>

示例

XML > JavaBean > Json

常规思路,先将XML转成 Java对象,再转为 Json

    @Test
    void xml2json1() throws JsonProcessingException 
        XmlMapper xmlMapper = new XmlMapper();               
        String xml = "<Hero><name>张三</name><age>18</age></Hero>";
        Hero hero = xmlMapper.readValue(xml, Hero.class);
        
        ObjectMapper mapper = new ObjectMapper();
        String json = mapper.writeValueAsString(hero);
        System.out.println(json);
    

XML > JsonNode

直接将 XML字符串转为 Json对象。省掉中间的Java对象

    @Test
    void xml2json2() throws IOException 
        XmlMapper xmlMapper = new XmlMapper();
        String xml = "<Hero><name>张三</name><age>18</age></Hero>";
        JsonNode jsonNode = xmlMapper.readTree(xml.getBytes());

        System.out.println(jsonNode.get("name").asText("无名"));
        System.out.println(jsonNode.get("age").asInt(99));
        System.out.println(jsonNode.get("title"));        
    

以上是关于Jackson 学习笔记 XML转JSON的主要内容,如果未能解决你的问题,请参考以下文章

Spring MVC框架 学习笔记总结

Java Debug 笔记:定制 Jackson 解析器来完成对复杂格式 XML 的解析

# Jackson 学习使用

Jackson学习

Jackson 将数组json转List泛型

jackson简单使用,对象转json,json转对象,json转list