Gson 本身不支持将 XML 转换为 JSON,也不支持将 JSON 转换为 XML。但是,您可以使用其他库来实现这些转换,例如 Jackson 或 XStream。下面是如何使用这些库进行转换的示例。
- 使用 Jackson 将 XML 转换为 JSON:
首先,您需要添加 Jackson XML 和 JSON 依赖项到您的项目中。对于 Maven 项目,将以下依赖项添加到 pom.xml
文件中:
com.fasterxml.jackson.dataformat jackson-dataformat-xml 2.13.0 com.fasterxml.jackson.core jackson-databind 2.13.0
然后,您可以使用以下代码将 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 = ""; 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 } value
- 使用 Jackson 将 JSON 转换为 XML:
同样,您需要添加 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 方法。