Java 利用Hutool和FastJson将xml转map再转json

1、pom

<!-- fastjson -->
        <dependency>
            <groupId>com.alibaba.fastjson2</groupId>
            <artifactId>fastjson2</artifactId>
            <version>2.0.8</version>
        </dependency>

        <!-- hutool https://www.hutool.cn/docs/#/ -->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.5</version>
        </dependency>

2、demo

String xml = "<root>\n" +
                "<users>\n" +
                "<user>\n" +
                "   <user>zhangsan</user>\n" +
                "   <message>success</message>\n" +
                "</user>\n" +
                "<user>\n" +
                "   <user>lisi</user>\n" +
                "   <message>fail</message>\n" +
                "</user>\n" +
                "</users>\n" +
                "</root>\n";

        Map<String, Object> map = XmlUtil.xmlToMap(xml);
        log.info("{}", map); // {users={user=[{message=success, user=zhangsan}, {message=fail, user=lisi}]}}

        String jsonStr = JSON.toJSONString(map);
        log.info("{}", jsonStr); // {"users":{"user":[{"message":"success","user":"zhangsan"},{"message":"fail","user":"lisi"}]}}

        com.alibaba.fastjson2.JSONObject json = com.alibaba.fastjson2.JSONObject.parseObject(jsonStr);
        com.alibaba.fastjson2.JSONObject users = json.getJSONObject("users");
        com.alibaba.fastjson2.JSONArray user = users.getJSONArray("user");
        for (int i = 0; i < user.size(); i++) {
            com.alibaba.fastjson2.JSONObject jj = user.getJSONObject(i);
            log.info("{}", jj); // {"message":"success","user":"zhangsan"}    {"message":"fail","user":"lisi"}
        }

 

posted @ 2024-02-23 11:11  都是城市惹的祸  阅读(127)  评论(0)    收藏  举报