在Java中创建JSONObject {"box":"tissue","desk":"wood"}
我需要做的就是
JSONObject json = new JSONObject();
json.put("box","tissue");
json.put("desk","wood");
要创建JSONObject {"my-stuff":{"box":"tissue","desk":"wood"}}
,我需要做的就是
JSONObject json = new JSONObject();
json.put("box","tissue");
json.put("desk","wood");
JSONObject myStuff = new JSONObject();
myStuff.put("my-stuff",json);
然后,为了获得String
个陈述,我只需json.toString()
或myStuff.toString()
。
我碰巧使用org.codehaus.jettison.json.JSONObject;
,但实际上这就是JSONObject的工作原理。
是否有一种在Java中创建XML的等效简单方法?如果不是,那么,用XML做什么是最简单的方法 -
答案 0 :(得分:3)
我建议Dom4J:
Element root = DocumentHelper.createElement("my-stuff")
Document dom = DocumentHelper.createDocument(root);
root.addElement("box").setText("tissue");
System.out.println(dom.asXml());
答案 1 :(得分:2)
当然有,但如果你已经有一堆json代码,我建议你简单地将你的json变成xml ,就像这样:http://answers.oreilly.com/topic/279-how-to-convert-json-to-xml-in-java/
我为没有直接回答你的问题而道歉,但除非你已经实现了序列化包装,否则只需将json转换为xml就可以节省大量的开发时间(而不是复制你所在的每一行代码)添加/拉出你的json对象,或者 - 正如我前面提到的那样 - 实现一个序列化包装器。)
答案 2 :(得分:1)
你试过Xstream吗?如果你有一个很好的建模类,那么生成xml作为字符串是微不足道的。您还可以使用注释自定义输出。
答案 3 :(得分:0)
另外,请查看Groovy(与Java兼容),它是MarkupBuilder。有关示例,请参阅http://www.ibm.com/developerworks/java/library/j-pg05199/