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 学习笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑虾

多情黯叹痴情癫。情癫苦笑多情难

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值