Gson 本身不支持将 XML 转换为 JSON,也不支持将 JSON 转换为 XML。但是,您可以使用其他库来实现这些转换,例如 Jackson 或 XStream。下面是如何使用这些库进行转换的示例。
首先,您需要添加 Jackson XML 和 JSON 依赖项到您的项目中。对于 Maven 项目,将以下依赖项添加到 pom.xml
文件中:
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.13.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.0</version>
</dependency>
然后,您可以使用以下代码将 XML 转换为 JSON 字符串:
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import java.io.IOException;
public class XmlToJsonExample {
public static void main(String[] args) throws IOException {
String xml = "<root><element>value</element></root>";
XmlMapper xmlMapper = new XmlMapper();
ObjectMapper jsonMapper = new ObjectMapper();
MyClass myObject = xmlMapper.readValue(xml, MyClass.class);
String jsonString = jsonMapper.writeValueAsString(myObject);
System.out.println(jsonString);
}
}
class MyClass {
private String element;
// Getter and Setter methods
}
同样,您需要添加 Jackson XML 和 JSON 依赖项到您的项目中。然后,您可以使用以下代码将 JSON 字符串转换为 XML 字符串:
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import java.io.IOException;
public class JsonToXmlExample {
public static void main(String[] args) throws IOException {
String json = "{\"element\":\"value\"}";
ObjectMapper jsonMapper = new ObjectMapper();
XmlMapper xmlMapper = new XmlMapper();
MyClass myObject = jsonMapper.readValue(json, MyClass.class);
String xmlString = xmlMapper.writeValueAsString(myObject);
System.out.println(xmlString);
}
}
class MyClass {
private String element;
// Getter and Setter methods
}
请注意,这些示例假设您已经定义了一个与 XML 结构匹配的 Java 类。您需要为 XML 中的每个元素创建一个相应的 Java 类,并为每个元素提供 getter 和 setter 方法。