如何在Java中將JSON陣列轉換為XML?
JSON(JavaScript Object Notation)和XML(eXtensible Markup Language)是兩種常用的資料交換格式。在Java中,我們經常需要在JSON和XML之間進行轉換。本文將介紹如何將JSON陣列轉換為XML。
首先,我們需要使用一個Java函式庫來處理JSON和XML的轉換。在本文中,我們將使用Jackson函式庫來處理JSON,使用dom4j函式庫來處理XML。你可以在Maven中加入以下依賴項,以在你的專案中使用它們:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.12.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.2</version> </dependency> <dependency> <groupId>org.dom4j</groupId> <artifactId>dom4j</artifactId> <version>2.1.3</version> </dependency>
接下來,我們將透過一個範例來示範如何將JSON陣列轉換為XML。假設我們有以下JSON陣列:
[ { "name": "Alice", "age": 25 }, { "name": "Bob", "age": 30 }, { "name": "Charlie", "age": 35 } ]
我們首先需要建立一個Java類別來表示JSON中的每個物件:
public class Person { private String name; private int age; // getters and setters }
然後我們可以使用Jackson函式庫將JSON陣列轉換為Java對象的列表:
import com.fasterxml.jackson.databind.ObjectMapper; public class JsonToXmlConverter { public static void main(String[] args) throws Exception { String json = "[{"name":"Alice","age":25},{"name":"Bob","age":30},{"name":"Charlie","age":35}]"; ObjectMapper objectMapper = new ObjectMapper(); List<Person> persons = objectMapper.readValue(json, new TypeReference<List<Person>>() {}); } }
現在,我們已經將JSON中的資料轉換為了Java物件的列表。接下來,我們將使用dom4j函式庫將其轉換為XML。
import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; public class JsonToXmlConverter { public static void main(String[] args) throws Exception { // JSON to Java objects String json = "[{"name":"Alice","age":25},{"name":"Bob","age":30},{"name":"Charlie","age":35}]"; ObjectMapper objectMapper = new ObjectMapper(); List<Person> persons = objectMapper.readValue(json, new TypeReference<List<Person>>() {}); // Java objects to XML Document document = DocumentHelper.createDocument(); Element root = document.addElement("persons"); for (Person person : persons) { Element personElement = root.addElement("person"); personElement.addElement("name").setText(person.getName()); personElement.addElement("age").setText(Integer.toString(person.getAge())); } String xml = document.asXML(); System.out.println(xml); } }
執行上述程式碼,將輸出以下XML:
<persons> <person> <name>Alice</name> <age>25</age> </person> <person> <name>Bob</name> <age>30</age> </person> <person> <name>Charlie</name> <age>35</age> </person> </persons>
透過上述程式碼範例,我們可以看到如何使用Jackson函式庫將JSON陣列轉換為Java物件的列表,然後使用dom4j函式庫將Java物件轉換為XML。
總結一下,本文介紹如何在Java中將JSON陣列轉換為XML。我們使用了Jackson函式庫來處理JSON,使用了dom4j函式庫來處理XML。希望本文對你理解JSON和XML之間的轉換有所幫助。
以上是如何在Java中將JSON數組轉換為XML?的詳細內容。更多資訊請關注PHP中文網其他相關文章!