Jackson 不会将 XML 文件完全解析为 JSON
Jackson won't parse XML file to JSON entirely
我正在尝试使用 Jackson 将 xml 字符串解析为 JSON。
目前我正在使用这个字符串:
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
" <rootNode>\n" +
" <data>\n" +
" <cityCode>R8</cityCode>\n" +
" <place>\n" +
" <code>01</code>\n" +
" </place>\n" +
" </data>\n" +
" <data>\n" +
" <cityCode>R9</cityCode>\n" +
" <place>\n" +
" <code>02</code>\n" +
" </place>\n" +
" </data>\n" +
"</rootNode>";
这是我使用的代码:
XmlMapper xmlMapper = new XmlMapper();
JsonNode node = xmlMapper.readTree(xml);
ObjectMapper jsonMapper = new ObjectMapper();
String json = jsonMapper.writeValueAsString(node)
但解析器似乎只得到一个节点:
{"data":{"cityCode":"R9","place":{"code":"02"}}}
如何将所有节点转换成JSON?
谢谢
我使用 readValue
将其用于 List
XmlMapper xmlMapper = new XmlMapper();
List list = xmlMapper.readValue(xml, List.class);
ObjectMapper jsonMapper = new ObjectMapper();
String json = jsonMapper.writeValueAsString(list);
不确定为什么您的版本不起作用,readTree
和重复属性似乎存在问题。见this article,点5.1. Limitations
我正在尝试使用 Jackson 将 xml 字符串解析为 JSON。
目前我正在使用这个字符串:
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
" <rootNode>\n" +
" <data>\n" +
" <cityCode>R8</cityCode>\n" +
" <place>\n" +
" <code>01</code>\n" +
" </place>\n" +
" </data>\n" +
" <data>\n" +
" <cityCode>R9</cityCode>\n" +
" <place>\n" +
" <code>02</code>\n" +
" </place>\n" +
" </data>\n" +
"</rootNode>";
这是我使用的代码:
XmlMapper xmlMapper = new XmlMapper();
JsonNode node = xmlMapper.readTree(xml);
ObjectMapper jsonMapper = new ObjectMapper();
String json = jsonMapper.writeValueAsString(node)
但解析器似乎只得到一个节点:
{"data":{"cityCode":"R9","place":{"code":"02"}}}
如何将所有节点转换成JSON?
谢谢
我使用 readValue
将其用于 List
XmlMapper xmlMapper = new XmlMapper();
List list = xmlMapper.readValue(xml, List.class);
ObjectMapper jsonMapper = new ObjectMapper();
String json = jsonMapper.writeValueAsString(list);
不确定为什么您的版本不起作用,readTree
和重复属性似乎存在问题。见this article,点5.1. Limitations