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"}
}
有些事情,没经历过不知道原理,没失败过不明白奥妙,没痛苦过不了解真谛。临渊羡鱼,不如退而结网!

浙公网安备 33010602011771号