Java是一種跨平臺(tái)的編程語言,它在處理數(shù)據(jù)方面也有很強(qiáng)的能力,其中XML和JSON是兩種廣泛使用的數(shù)據(jù)格式。XML以標(biāo)簽的形式來表示數(shù)據(jù),而JSON則以鍵值對(duì)的形式來表示數(shù)據(jù)。為了將XML格式的數(shù)據(jù)轉(zhuǎn)化成JSON格式的數(shù)據(jù),Java提供了一些方法。
// XML字符串 String xml = "<root><name>John</name><age>30</age></root>"; // 將XML字符串轉(zhuǎn)化成Document對(duì)象 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); InputSource input = new InputSource(new StringReader(xml)); Document doc = builder.parse(input); // 將Document對(duì)象轉(zhuǎn)化成JSON格式的字符串 JsonObject jsonObject = new JsonObject(); NodeList nodeList = doc.getDocumentElement().getChildNodes(); for (int i = 0; i< nodeList.getLength(); i++) { Node node = nodeList.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { Element element = (Element) node; jsonObject.addProperty(element.getNodeName(), element.getTextContent()); } } String json = jsonObject.toString();
以上代碼首先將XML字符串解析成Document對(duì)象,然后遍歷其中的節(jié)點(diǎn),將節(jié)點(diǎn)的名稱和文本內(nèi)容轉(zhuǎn)化成JSON的鍵值對(duì),最終將JSON對(duì)象轉(zhuǎn)化成字符串。若對(duì)于其他格式的XML,還需根據(jù)其不同的結(jié)構(gòu)進(jìn)行處理。
正如XML格式的數(shù)據(jù)在實(shí)際應(yīng)用中仍然得到廣泛使用一樣,JSON也在許多場(chǎng)合中取代了XML。Java提供的XML轉(zhuǎn)JSON的方法將在很多場(chǎng)合中幫助我們實(shí)現(xiàn)方便的數(shù)據(jù)操作。
下一篇java 取反和異或