日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

xml转json和实体类的两种方式

發布時間:2025/7/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xml转json和实体类的两种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文為博主原創,未經允許不得轉載:

  xml在http通信中具有較高的安全性和傳輸速度,所以應用比較廣泛,

  在項目中往往需要對xml,json和實體類進行相互轉換,在這里總結一下自己所用到的一些方法:

一. 使用XMLSerializer 將xml轉為json格式

  1.引入jar包:

<dependency><groupId>com.thoughtworks.xstream</groupId><artifactId>xstream</artifactId></dependency><dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><classifier>jdk15</classifier></dependency>

  使用示例:

public static void main(String[] args) {String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+"<domain xmlns:cloudcdn=\"http://cloud.chinanetcenter.com/extension/xhtml\">"+ "<domain-id>fdg68</domain-id>"+ "<domain-name>dfsg.com</domain-name>"+ "<service-type>web-https</service-type>"+ "<service-areas/>"+ "<cname>fdsgsdg.com</cname>"+ "<status>Deployed</status>"+ "<comment/>"+ "</domain>";XMLSerializer cacheXmlSerializer = new XMLSerializer();JSON referJsonResult = cacheXmlSerializer.read(xml);JSONObject referJson = JSONObject.parseObject(referJsonResult.toString());System.out.println(referJson);
     //運行打印的結果為:
//{"domain-name":"dfsg.com","domain-id":"fdg68","service-type":"web-https","cname":"fdsgsdg.com","@xmlns:cloudcdn":"http://cloud.chinanetcenter.com/extension/xhtml","comment":[],"service-areas":[],"status":"Deployed"}}

二.通過XStream將xml轉化為實體類,

  通過第一種方式也可以將xml解析為實體類,步驟為,先將xml轉為json,然后將json轉為實體類,

  這里介紹的方式是通過XStream將xml轉為實體類:

    XStream是個很強大的工具,能將java對象和xml之間相互轉化。xstream不在意java類中成員變量是私有還是公有,

  也不在乎是否有默認構造函數。它調用方式也非常簡單:從xml對象轉化為java對象,使用fromXML()方法;

  從java對象序列化為xml,toXML()即可,很方便。

  xstream也支持注解方式,注解方式實現和非注解方式實現的區別在于是否單獨解析別名,

    如果是注解的方式,可以直接使用注解的屬性將xml字段與實體類字段進行映射。

  具體可參考:https://blog.csdn.net/dc282614966/article/details/80970750

  此處展示注解式轉換的實例:

  @XStreamAlias("message") 別名注解 ,作用就是將屬性按照別名輸出。

@XStreamAlias("User") public class User {@XStreamAlias("name")private String name;@XStreamAlias("age")private String age;@XStreamAlias("SEX")private String sex;public User(String name, String age, String sex) {super();this.name = name;this.age = age;this.sex = sex;}@Overridepublic String toString() {return "User [name=" + name + ", age=" + age + ", sex=" + sex + "]";} }

1.xml轉換實體類的實現方式:

public static void main(String[] args) {String xml="<User>\n"+" <name>peter</name> \n"+" <age>13</age> \n"+" <SEX>男</SEX> \n"+" </User>";XStreamEx xStream = new XStreamEx();xStream.processAnnotations(User.class);User user = (User) xStream.fromXML(xml);}

2.將實體類轉xml的方式

     User user = new User();user.setName("test");// 轉換XStream xStream = new XStream();// 通過注解方式的,一定要有這句話 xStream.processAnnotations(user.getClass());String xmlCfg = xStream.toXML(user);

?

轉載于:https://www.cnblogs.com/zjdxr-up/p/10665414.html

總結

以上是生活随笔為你收集整理的xml转json和实体类的两种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。