在Java開發(fā)中,我們常常需要將XML格式的數(shù)據(jù)轉(zhuǎn)換成JSON格式。而在Java中,XML和JSON分別對應(yīng)了兩個不同的數(shù)據(jù)格式:DOM和JSON。
DOM是一種基于文檔的對象模型,它提供了一種以樹形結(jié)構(gòu)表示XML文檔的方式,可以對XML文檔進(jìn)行解析、遍歷和修改等操作。而JSON則是一種輕量級的數(shù)據(jù)交換格式,在Java中,通常使用Gson或Jackson等開源庫來完成XML字符串轉(zhuǎn)JSON格式。
public static String xml2Json(String xml) { ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonNode; try { jsonNode = objectMapper.readTree(xml.getBytes()); } catch (IOException e) { throw ExceptionUtils.unchecked(e); } return jsonNode.toString(); }
上述代碼使用了Jackson庫中的ObjectMapper類,先將XML字符串轉(zhuǎn)換成字節(jié)數(shù)組,再通過readTree方法將字節(jié)數(shù)組轉(zhuǎn)換成JsonNode格式的對象,最后再將JsonNode對象轉(zhuǎn)換成JSON字符串返回。
除了Jackson庫外,Gson庫也提供了類似的XML字符串轉(zhuǎn)JSON格式的方法。相比于使用DOM方式或手寫解析器,使用第三方庫可以更加方便、快捷地完成XML字符串轉(zhuǎn)JSON格式的任務(wù),但也需要注意版本兼容性、性能和安全等方面的問題。