当前位置: 代码迷 >> J2SE >> java有没有把json数据类型的字符串转XML解决方案
  详细解决方案

java有没有把json数据类型的字符串转XML解决方案

热度:6140   发布时间:2013-02-25 00:00:00.0
java有没有把json数据类型的字符串转XML
有没有这样的一个函数,把JSON字符串直接转换为XML类型的字符串。
或者什么包也行。

------解决方案--------------------------------------------------------
使用 net.sf.json-lib

json-lib 提供 XMLSerializer 来把一个json对象已xml格式输出

Java code
import java.io.InputStream;import net.sf.json.JSON;import net.sf.json.JSONSerializer;import net.sf.json.xml.JSONTypes;import net.sf.json.xml.XMLSerializer;import org.apache.commons.io.IOUtils;public class ConvertJSONtoXMLSetRoot {        public static void main(String[] args) throws Exception {                InputStream is =                         ConvertJSONtoXMLNoHints.class.getResourceAsStream("sample-json.txt");                String jsonData = IOUtils.toString(is);                                XMLSerializer serializer = new XMLSerializer();                 JSON json = JSONSerializer.toJSON( jsonData );                 serializer.setRootName("SampleJSON");  //设置xml根元素为SampleJSON                serializer.setTypeHintsEnabled(false); //在元素属性上不显示原json的类型                String xml = serializer.write( json );                  System.out.println(xml);                                        }}
------解决方案--------------------------------------------------------
1.下载http://sourceforge.net/projects/json-lib/files/json-lib/json-lib-2.4/ 

和它的依赖http://json-lib.sourceforge.net/ 
2.使用如:
JSONObject json = JSONObject.fromObject("{\"name\":\"json\",\"bool\":true,\"int\":1}");
String xml = XMLSerializer.write( json );

结果为:<o class="object">
<name type="string">json</name>
<bool type="boolean">true</bool>
<int type="number">1</int>
</o>  
O(∩_∩)O~,你懂得
  相关解决方案