上面的json转xml运行结束时多了<ObjectNode><\ObjectNode>怎么去掉
时间: 2023-12-08 09:05:54 浏览: 154
JS中彻底删除JSON对象组成的数组中的元素
这个是因为 `ObjectNode` 是 Jackson 库中的一个 Java 类,用来表示 JSON 中的对象。在转换成 XML 的过程中,Jackson 库会将每个 JSON 对象转换为一个 `<ObjectNode>` 标签,而这个标签是没有实际意义的。
如果你想去掉这些标签,可以使用 Jackson 库提供的方法将 JSON 直接转换成 XML 字符串,而不是先转换成 `ObjectNode` 对象再转换成 XML。可以参考下面的代码:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator;
public class JsonToXml {
public static void main(String[] args) throws Exception {
String jsonStr = "{\"name\": \"John\", \"age\": 30}";
ObjectMapper mapper = new ObjectMapper();
XmlMapper xmlMapper = new XmlMapper();
// 配置输出格式
xmlMapper.getFactory().createGenerator(System.out, ToXmlGenerator.DEFAULT_XML_PRETTY_PRINT_INDENT);
String xmlStr = xmlMapper.writeValueAsString(mapper.readValue(jsonStr, Object.class));
System.out.println(xmlStr);
}
}
```
在上面的代码中,我们使用了 `XmlMapper` 类将 JSON 直接转换成 XML 字符串,并且通过 `createGenerator` 方法配置了输出格式。这样就可以得到一个没有 `<ObjectNode>` 标签的 XML 字符串了。
阅读全文