Java XML转JSON
在IT领域,数据交换格式多种多样,其中XML和JSON是最常用的两种。Java作为一种广泛应用的编程语言,提供了丰富的API来处理各种数据格式。本文将介绍如何使用Java将XML数据转换为JSON格式。
XML与JSONXML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它的优势在于具有自我描述性,易于理解和阅读。而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于被人类和机器阅读和编写,具有良好的可扩展性。
Java处理XML与JSON在Java中,我们可以使用javax.xml.parsers
包中的类来解析和处理XML数据。同时,使用org.json
包中的类来处理JSON数据。以下是一个简单的XML转JSON的示例。
首先,创建一个XML文件,例如input.xml
:
<?xml version="1.0"?>
<students>
<student>
<name>张三</name>
<age>21</age>
<major>计算机科学</major>
</student>
<student>
<name>李四</name>
<age>22</age>
<major>软件工程</major>
</student>
</students>
然后,创建一个Java类XmlToJson
,用于将上述XML文件转换为JSON:
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class XmlToJson {
public static void main(String[] args) {
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse("input.xml");
JSONArray jsonArray = new JSONArray();
NodeList students = doc.getElementsByTagName("student");
for (int i = 0; i < students.getLength(); i++) {
JSONObject student = new JSONObject();
Node studentNode = students.item(i);
NodeList studentInfo = studentNode.getChildNodes();
for (int j = 0; j < studentInfo.getLength(); j++) {
Node info = studentInfo.item(j);
String name = info.getNodeName();
String value = info.getTextContent();
if ("name".equals(name)) {
student.put("name", value);
} else if ("age".equals(name)) {
student.put("age", value);
} else if ("major".equals(name)) {
student.put("major", value);
}
}
jsonArray.put(student);
}
System.out.print(jsonArray);
} catch (ParserConfigurationException | SAXException | IOException | JSONException e) {
e.printStackTrace();
}
}
}
运行上述Java类,输出结果如下:
[
{
"name": "张三",
"age": "21",
"major": "计算机科学"
},
{
"name": "李四",
"age": "22",
"major": "软件工程"
}
]
通过上述示例,我们可以看到如何使用Java将
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦