首頁 >Java >java教程 >如何在Java中將JSON數組轉換為XML?

如何在Java中將JSON數組轉換為XML?

王林
王林原創
2023-09-06 12:18:411456瀏覽

如何在Java中將JSON數組轉換為XML?

如何在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn