最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

將Java對(duì)象序列化成JSON和XML格式的實(shí)例

 更新時(shí)間:2017年12月06日 14:36:33   作者:洪墨水  
下面小編就為大家分享一篇將Java對(duì)象序列化成JSON和XML格式的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

1.先定義一個(gè)Java對(duì)象Person:

public class Person
{
 String name;
 int age;
 int number;
 public String getName()
 {
 return name;
 }
 public void setName(String name)
 {
 this.name = name;
 }
 public int getAge()
 {
 return age;
 }
 public void setAge(int age)
 {
 this.age = age;
 }
 public int getNumber()
 {
 return number;
 }
 public void setNumber(int number)
 {
 this.number = number;
 }
 @Override
 public String toString()
 {
 return "Person [name=" + name + ", age=" + age + ", number=" + number
  + "]";
 }
}

2、使用阿里巴巴的fastjson-1.2.13.jar(http://maven.outofmemory.cn/com.alibaba/fastjson/1.2.13/)工具包的,通過(guò) JSON 類的 toJSONString (Object object)方法,把Java對(duì)象直接轉(zhuǎn)換為String類型的json串,代碼如下:

Person person = new Person();
 person.setName("老四");
 person.setAge(26);
 person.setNumber(16);
 // JSON對(duì)象序列化
 String personJson = null;
 // 將Java對(duì)象轉(zhuǎn)換為json
 personJson = JSON.toJSONString(person);
 System.out.println(personJson);

3、同樣的,通過(guò)該工具包,可以把json串轉(zhuǎn)換為Java對(duì)象,調(diào)用parseObject(String text, Class<T> clazz)方法,只需要傳入json串和目標(biāo)Java對(duì)象Person類的class即可,代碼如下:

// 將json轉(zhuǎn)換為Java對(duì)象
Person parsePerson = JSON.parseObject(personJson, person.getClass());
System.out.println(parsePerson); 

4、使用xstream-1.4.9.jar(http://maven.outofmemory.cn/com.thoughtworks.xstream/xstream/1.4.9/)工具包,只需創(chuàng)建一個(gè)XStream對(duì)象,然后使用 toXML(Object obj) 方法,即可實(shí)現(xiàn)Java對(duì)象到XML的轉(zhuǎn)換,代碼如下:

Person person = new Person();
 person.setName("老四");
 person.setAge(26);
 person.setNumber(16);
 // 先創(chuàng)建一下XStream對(duì)象
 XStream xStream = new XStream(new DomDriver());
 // 設(shè)置Person類的別名
 xStream.alias("老四", Person.class);
 // 將Java對(duì)象序列化成XML
 String personXML = xStream.toXML(person);
 //輸出XML
 System.out.println(personXML);

5、同樣的,通過(guò)該工具包,可以把XML轉(zhuǎn)換為Java對(duì)象,調(diào)用 fromXML(String xml) 方法,把String 類型的XML參數(shù)傳入即可,代碼如下:

// 將XML轉(zhuǎn)換為Java對(duì)象
Person parsePerson = (Person) xStream.fromXML(personXML);
//輸出Java對(duì)象
System.out.println(parsePerson);

說(shuō)明:

XStream對(duì)象相當(dāng)Java對(duì)象和XML之間的轉(zhuǎn)換器,轉(zhuǎn)換過(guò)程是雙向的。創(chuàng)建XSteam對(duì)象的方式很簡(jiǎn)單,只需要new XStream()即可;

Java到xml,用toXML()方法。

Xml到Java,用fromXML()方法。

在沒(méi)有任何設(shè)置默認(rèn)情況下,java到xml的映射,是java成員名對(duì)應(yīng)xml的元素名,java類的全名對(duì)應(yīng)xml根元素的名字。而實(shí)際中,往往是xml和java類都有了,要完成相互轉(zhuǎn)換,必須進(jìn)行別名映射。

別名配置包含三種情況:

1、類別名,用alias(String name, Class type)。

2、類成員別名,用aliasField(String alias, Class definedIn, String fieldName)

3、類成員作為屬性別名,用 aliasAttribute(Class definedIn, String attributeName, String alias),單獨(dú)命名沒(méi)有意義,還要通過(guò)useAttributeFor(Class definedIn, String fieldName) 應(yīng)用到某個(gè)類上。

以上這篇將Java對(duì)象序列化成JSON和XML格式的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Batch 如何自定義ItemReader

    Spring Batch 如何自定義ItemReader

    這篇文章主要介紹了Spring Batch 如何自定義ItemReader的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java并發(fā)之Condition案例詳解

    Java并發(fā)之Condition案例詳解

    這篇文章主要介紹了Java并發(fā)之Condition案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • java如何拷貝復(fù)制對(duì)象和集合問(wèn)題

    java如何拷貝復(fù)制對(duì)象和集合問(wèn)題

    這篇文章主要介紹了java如何拷貝復(fù)制對(duì)象和集合問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java中的@PreAuthorize注解使用詳解

    Java中的@PreAuthorize注解使用詳解

    這篇文章主要介紹了Java中的@PreAuthorize注解使用詳解,@PreAuthorize注解會(huì)在方法執(zhí)行前進(jìn)行權(quán)限驗(yàn)證,支持Spring EL表達(dá)式,它是基于方法注解的權(quán)限解決方案,需要的朋友可以參考下
    2023-10-10
  • 關(guān)于@GetMapping和@GetMapping(value=““)的區(qū)別

    關(guān)于@GetMapping和@GetMapping(value=““)的區(qū)別

    這篇文章主要介紹了關(guān)于@GetMapping和@GetMapping(value=““)的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Java中List集合去重的幾種方式詳細(xì)解析

    Java中List集合去重的幾種方式詳細(xì)解析

    這篇文章主要介紹了Java中List集合去重的幾種方式詳細(xì)解析,在日常的業(yè)務(wù)開發(fā)中,偶爾會(huì)遇到需要將 List 集合中的重復(fù)數(shù)據(jù)去除掉的場(chǎng)景,那么今天我們來(lái)看看幾種LIst集合去重的方式,需要的朋友可以參考下
    2023-11-11
  • Java Socket實(shí)現(xiàn)多線程通信功能示例

    Java Socket實(shí)現(xiàn)多線程通信功能示例

    這篇文章主要介紹了Java Socket實(shí)現(xiàn)多線程通信功能,結(jié)合具體實(shí)例形式較為詳細(xì)的分析了java多線程通信的原理及客戶端、服務(wù)器端相應(yīng)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-06-06
  • java web開發(fā)中大量數(shù)據(jù)導(dǎo)出Excel超時(shí)(504)問(wèn)題解決

    java web開發(fā)中大量數(shù)據(jù)導(dǎo)出Excel超時(shí)(504)問(wèn)題解決

    開發(fā)測(cè)試時(shí)候?qū)霐?shù)據(jù)遇到大數(shù)據(jù)導(dǎo)入的問(wèn)題,整理了下,需要的朋友可以參考下
    2017-04-04
  • java打jar包的幾種方式詳解

    java打jar包的幾種方式詳解

    這篇文章主要介紹了java打jar包的幾種方式,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java Mybatis一級(jí)緩存和二級(jí)緩存

    Java Mybatis一級(jí)緩存和二級(jí)緩存

    緩存是內(nèi)存當(dāng)中一塊存儲(chǔ)數(shù)據(jù)的區(qū)域,目的是提高查詢效率,降低服務(wù)器和數(shù)據(jù)庫(kù)的壓力,這篇文章主要介紹了Mybatis一級(jí)緩存和二級(jí)緩存,感興趣的同學(xué)可以參考閱讀本文
    2023-04-04

最新評(píng)論

霸州市| 长子县| 河北区| 永康市| 青田县| 宁明县| 岚皋县| 开化县| 高要市| 韶关市| 宝兴县| 忻城县| 广宁县| 聊城市| 沁阳市| 临高县| 宜丰县| 那坡县| 江山市| 滦南县| 东乡| 康乐县| 汶川县| 龙江县| 晋州市| 大竹县| 济宁市| 阳城县| 田阳县| 彭水| 桑日县| 齐齐哈尔市| 景东| 汉川市| 临泽县| 磐石市| 上杭县| 离岛区| 长兴县| 镇康县| 平乡县|