将XML解析为JSON [英] Parsing XML into JSON
本文介绍了将XML解析为JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个XML文件,例如
I have an XML file, like
<stock><name>AXL</name><time>19-07</time><price>11.34</price></stock>
<stock><name>AIK</name><time>19-07</time><price>13.54</price></stock>
<stock><name>ALO</name><time>19-07</time><price>16.32</price></stock>
<stock><name>APO</name><time>19-07</time><price>13.56</price></stock>
...............more
如何我可以将其解析为JSON结构文件吗?
How can I parse this into JSON structure file?
推荐答案
对于一个简单的解决方案,我建议 Jackson ,一个用于生成和读取带有XML扩展的JSON的Java库,因为它可以通过几行简单的代码将任意复杂的XML转换为JSON。
For a simple solution, I recommend Jackson, a Java library for generating and reading JSON with an extension for XML, as it can transform arbitrarily complex XML into JSON with just a few simple lines of code.
input.xml
<entries>
<stock><name>AXL</name><time>19-07</time><price>11.34</price></stock>
<stock><name>AIK</name><time>19-07</time><price>13.54</price></stock>
<stock><name>ALO</name><time>19-07</time><price>16.32</price></stock>
<stock><name>APO</name><time>19-07</time><price>13.56</price></stock>
</entries>
Java代码:
import java.io.File;
import java.util.List;
import org.codehaus.jackson.map.ObjectMapper;
import com.fasterxml.jackson.xml.XmlMapper;
public class Foo
{
public static void main(String[] args) throws Exception
{
XmlMapper xmlMapper = new XmlMapper();
List entries = xmlMapper.readValue(new File("input.xml"), List.class);
ObjectMapper jsonMapper = new ObjectMapper();
String json = jsonMapper.writeValueAsString(entries);
System.out.println(json);
// [{"name":"AXL","time":"19-07","price":"11.34"},{"name":"AIK","time":"19-07","price":"13.54"},{"name":"ALO","time":"19-07","price":"16.32"},{"name":"APO","time":"19-07","price":"13.56"}]
}
}
此演示使用 Jackson 1.7.7 (较新的1.7.8也可以使用), Jackson XML Databind 0.5.3 (尚未与Jackson 1.8兼容),以及Stax2 3.1.1 。
This demo uses Jackson 1.7.7 (the newer 1.7.8 should also work), Jackson XML Databind 0.5.3 (not yet compatible with Jackson 1.8), and Stax2 3.1.1.
这篇关于将XML解析为JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文