第一种https://mvnrepository.com/artifact/org.json/json
pom引入
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20210307</version>
</dependency>
代码:
public static void main(String[] args)
{
String xml =
"<itemsPreviousRespondHeader>"
+ "<language>zh-cn</language>"
+ "<respondTime>2010-04-28T18:36:00</respondTime>"
+ "<respondStatus>"
+ "<respondCode>0000</respondCode>"
+ "<respondInfo>整批交易全部成功!</respondInfo>"
+ "</respondStatus>"
+ "<userID></userID>"
+ "<batchID>2050278995200910236000001</batchID>"
+ "<transPatches>1</transPatches>"
+ "</itemsPreviousRespondHeader>";
JSONObject object = XML.toJSONObject(xml);
System.out.println(object);
}
第二种Hutool — 🍬A set of tools that keep Java sweet.
pom引入比较火的hu工具类:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.1</version>
</dependency>
代码跟上面一模一样:
public static void main(String[] args)
{
String xml =
"<itemsPreviousRespondHeader>"
+ "<language>zh-cn</language>"
+ "<respondTime>2010-04-28T18:36:00</respondTime>"
+ "<respondStatus>"
+ "<respondCode>0000</respondCode>"
+ "<respondInfo>整批交易全部成功!</respondInfo>"
+ "</respondStatus>"
+ "<userID></userID>"
+ "<batchID>2050278995200910236000001</batchID>"
+ "<transPatches>1</transPatches>"
+ "</itemsPreviousRespondHeader>";
JSONObject object = XML.toJSONObject(xml);
System.out.println(object);
}
目前好多外部接口都返回xml数据。之前都是对象上@XmlAccessorType等注解来封装,对象很乱很麻烦。现在统一将xml转成json数据然后json转成对象,对象清晰好多。