json转xml(附案例)
將json格式化字符串轉換成xml格式,例如
怎么實現呢?經過度娘知道這里需要用到兩個類:?ObjectMapper、XStream
1.添加maven依賴
ObjectMapper依賴:
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.4.1</version></dependency><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-jaxrs</artifactId><version>1.9.11</version></dependency>XStream依賴:
2.創建json對應的javabean對象:
注意要添加get set方法
3.利用ObjectMapper類將json封裝javabean對象中
String json="{\"message\": \"用戶信息獲取成功\",\"code\": \"1000\",\"data\": [{\"user_id\": \"454645646456\",\"username\": \"月憶秋思\",\"xfbUserType\":0,\"realname\":\"沈萬三\",\"telephone\":\"99944454564\",\"tel400\":\"4765132345\",\"sex\":1,\"city\":\"city\",\"projname\":\"海上傳奇\",\"newcode\":\"2313145646546\"}]}";
ObjectMapper mapper = new ObjectMapper();
PassportNamesRes resultInfo = mapper.readValue(json, PassportNamesRes.class);
4.將javabean對象轉成xml
XStream xStream = new XStream(new Xpp3Driver(new NoNameCoder()));
System.out.println(xStream.toXML(resultInfo));
5.輸出:
這里已經實現了json到xml轉換,但是輸出發現不是我們想要的格式,別急,我整理了一下我遇到的問題:
1.將最外層根節點替換成 root:
xStream.alias("root", resultInfo.getClass());
輸出:
2.將list中子節點名字替換成one:
xStream.alias("one", passortInfo.class);
輸出:
3.添加xml消息頭
可以使用Stringbuffer進行拼接:
StringBuffer buff=new StringBuffer();
buff.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");
buff.append("\r\n"+xStream.toXML(resultInfo));
System.out.println(buff);
控制臺打印:
其他的問題遇到了再記錄吧.
總結
以上是生活随笔為你收集整理的json转xml(附案例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 事后诸葛亮分析(小小大佬带飞队)
- 下一篇: 权力的游戏刷声望辅助【多开辅助】权力的游