第一种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转成对象,对象清晰好多。