色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java xml to json

李中冰2年前7瀏覽0評論

Java 是一種流行的編程語言,廣泛應(yīng)用于軟件開發(fā)領(lǐng)域。在處理數(shù)據(jù)時(shí),我們經(jīng)常需要將數(shù)據(jù)從一種格式轉(zhuǎn)換成另一種格式。XML 和 JSON 是兩種常見的數(shù)據(jù)格式,其中 XML 通常用于數(shù)據(jù)交換和存儲,而 JSON 通常用于 Web 應(yīng)用程序。

Java 支持將 XML 轉(zhuǎn)換成 JSON。其中,XML 是通過 DOM 或 SAX 解析器讀取的,而 JSON 則是通過 JSON 對象或 JSON 數(shù)組構(gòu)造器創(chuàng)建的。在轉(zhuǎn)換過程中,需要將 XML 元素映射到 JSON 對象或數(shù)組屬性上。

package com.example;
import org.json.JSONArray;
import org.json.JSONObject;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.File;
public class XmlToJsonConverter {
public static void main(String[] args) throws Exception {
// 讀取 XML 文件
File xmlFile = new File("employees.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlFile);
// 將 XML 轉(zhuǎn)換成 JSON 對象
Element root = doc.getDocumentElement();
JSONArray employees = new JSONArray();
NodeList empList = root.getElementsByTagName("employee");
for (int i = 0; i< empList.getLength(); i++) {
JSONObject empObj = new JSONObject();
Element emp = (Element) empList.item(i);
empObj.put("id", emp.getAttribute("id"));
empObj.put("firstName", emp.getElementsByTagName("firstName").item(0).getTextContent());
empObj.put("lastName", emp.getElementsByTagName("lastName").item(0).getTextContent());
empObj.put("email", emp.getElementsByTagName("email").item(0).getTextContent());
employees.put(empObj);
}
// 輸出轉(zhuǎn)換結(jié)果
System.out.println(employees.toString());
}
}

上述代碼讀取了名為 employees.xml 的 XML 文件,并將其轉(zhuǎn)換成 JSON 數(shù)組。在轉(zhuǎn)換過程中,首先獲取 XML 文件的根元素,在根元素上遍歷所有的 employee 元素。對于每個(gè) employee 元素,創(chuàng)建一個(gè)對應(yīng)的 JSON 對象,并將其屬性設(shè)置為 employee 元素的子元素的值。最終,將所有的 JSON 對象添加到一個(gè) JSON 數(shù)組中,并將結(jié)果輸出。

在實(shí)際開發(fā)中,我們可以使用類似以上代碼的方式將 XML 文件轉(zhuǎn)換成 JSON 數(shù)據(jù),從而方便地處理和存儲數(shù)據(jù)。