json-java
pom.xml
<dependency>
<groupId>com.xliic</groupId>
<artifactId>json-java</artifactId>
<version>1.1</version>
</dependency>
JsonUtils.java
/* 使用JSON-JAVA提供的方法 */
//将xml转为json
JSONObject xmlJSONObj = XML.toJSONObject(xml);
//设置缩进
String jsonPrettyPrintString = xmlJSONObj.toString(4);
//输出格式化后的json
System.out.println(jsonPrettyPrintString);
json-lib
JsonUtils.java
/* 使用json-lib提供的方法 */
//创建 XMLSerializer对象
XMLSerializer xmlSerializer = new XMLSerializer();
//将xml转为json(注:如果是元素的属性,会在json里的key前加一个@标识)
String result = xmlSerializer.read(xml).toString();
//输出json内容
System.out.println(result);
Test.java
public class Test {
public static void main(String[] args) {
String xml = "<class id="
+ "'1'"
+ "><student><name>aaaaaa</name><age>21</age></student><student><name>bbbbbb</name><age>22</age></student></class>";
/* 第一种方法,使用JSON-JAVA提供的方法 */
//将xml转为json
JSONObject xmlJSONObj = XML.toJSONObject(xml);
//设置缩进
String jsonPrettyPrintString = xmlJSONObj.toString(4);
//输出格式化后的json
System.out.println(jsonPrettyPrintString);
/* 第二种方法,使用json-lib提供的方法 */
//创建 XMLSerializer对象
XMLSerializer xmlSerializer = new XMLSerializer();
//将xml转为json(注:如果是元素的属性,会在json里的key前加一个@标识)
String result = xmlSerializer.read(xml).toString();
//输出json内容
System.out.println(result);
}
输出结果
JSON-java
{"class": {
"id": 1,
"student": [
{
"age": 21,
"name": "aaaaaa"
},
{
"age": 22,
"name": "bbbbbb"
}
]
}}
{"@id":"1","student":[{"name":"aaaaaa","age":"21"},{"name":"bbbbbb","age":"22"}]}
最后补充一个JSON转xml的例子
JsonUtils.java
public static String json2xml(String json) {
StringReader input = new StringReader(json);
StringWriter output = new StringWriter();
JsonXMLConfig config = new JsonXMLConfigBuilder().multiplePI(false).repairingNamespaces(false).build();
try {
XMLEventReader reader = new JsonXMLInputFactory(config).createXMLEventReader(input);
XMLEventWriter writer = XMLOutputFactory.newInstance().createXMLEventWriter(output);
writer = new PrettyXMLEventWriter(writer);
writer.add(reader);
reader.close();
writer.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
output.close();
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (output.toString().length() >= 38) {// remove <?xml version="1.0" encoding="UTF-8"?>
System.out.println(output.toString().substring(39));
return output.toString().substring(39);
}
return output.toString();
}
Test.java
public static void main(String[] args) {
Json2Xml test = new Json2Xml();
String json = "{\"student\":{\"name\":\"cherry\",\"id\":1,\"age\":666,\"desc\":{\"state\":777,"
+ "\"items\":{\"isTure\":\"ture\"}}}}";
test.json2xml(json);
}
效果图: