问:谁能告诉我如何在Java中将xml转换为json。
提前致谢。
答:Xml到Json的转换:
让我们借助示例来看看。
需要以下罐子:
apache-commmons
json-lib
ezmorph
假设我们有一个名为example.xml的xml文件,其中包含以下数据:
<!-?xml version =“ 1.0” encoding =“ UTF-8”?->
<组>
<person id =“ p01”>
<名称>马修·海登</名称>
<Age> 35 </ Age>
<性别>男性</性别>
<Nationality>澳大利亚</ Nationality>
</人>
<person id =“ p02”>
<名称> Rohit Sharma </名称>
<Age> 27 </ Age>
<性别>男性</性别>
<Nationality> Indian </ Nationality>
</人>
<person id =“ p03”>
<Name> Sonali Sharma </ Name>
<Age> 22 </ Age>
<性别>女性</性别>
<Nationality> Indian </ Nationality>
</人>
</ group>
该文件应放在此代码的src文件夹下。
我们编写了一个Java代码,将其转换为Json格式,如下所示:
导入java.io.IOException;
导入java.io.InputStream;
导入java.net.URL;
导入org.apache.commons.io.IOUtils;
导入net.sf.json.JSON;
导入net.sf.json.xml.XMLSerializer;
公共类ConvertToJson {
私有静态网址url = null;
私有静态InputStream输入= null;
公共静态void main(String args [])引发IOException {
尝试{
url = ConvertToJson.class.getClassLoader()。getResource(“ example.xml”);
输入= url.openStream();
字符串xmlData = IOUtils.toString(input);
XMLSerializer xmlSerializer =新的XMLSerializer();
JSON json = xmlSerializer.read(xmlData);
System.out.println(“ JSON data:” + json);
} catch(Exception e){
e.printStackTrace();
}最后{
input.close();
}
}
}
输出:
JSON数据:[{“ @id”:“ p01”,“名称”:“ Mathew Hayden”,“年龄”:“ 35”,“性别”:“男性”,“国籍”:“澳大利亚”},{“ @id“:” p02“,”名称“:” Rohit Sharma“,”年龄“:” 27“,”性别“:”男性“,”国籍“:”印度“},{” @ id“:” p03 “,”名称“:” Sonali Sharma“,”年龄“:” 22“,”性别“:”女性“,”国籍“:”印度“}]