java序列化框架 如何將Java對象序列化成JSON和XML格式?
如何將Java對象序列化成JSON和XML格式?導(dǎo)入jar包可以方便地將Java對象轉(zhuǎn)換成JSON和XML格式使用fastjson-1.2.13.jar,通過JSON類的tojsonstring(ob
如何將Java對象序列化成JSON和XML格式?
導(dǎo)入jar包可以方便地將Java對象轉(zhuǎn)換成JSON和XML格式
使用fastjson-1.2.13.jar,通過JSON類的tojsonstring(object object)方法直接將Java對象轉(zhuǎn)換成字符串類型的JSON字符串。類似地,使用xstream-1.4.9.jar調(diào)用parseobject(string text,class<T>),可以通過xstream object的toxml(object obj)方法將Java對象轉(zhuǎn)換為XML。同樣,調(diào)用fromxml(stringXML)方法可以將XML轉(zhuǎn)換成Java對象和字符串,這種技術(shù)主要應(yīng)用于RMI(對象作為參數(shù)的遠(yuǎn)程傳輸和返回)和JavaBeans。Java還提供了xmlcodector和xmdecoder類來將JavaBeans對象序列化為XML文件,但是這種方法對Java類有很多不便和限制(滿足get/set方法等,否則可能會(huì)丟失屬性值)。XStream是一個(gè)強(qiáng)大的開源工具,它還可以將對象保存到XML文件中,并在沒有太多限制的情況下恢復(fù)它們。采用XML作為對象傳輸?shù)耐ㄓ脭?shù)據(jù)格式,實(shí)現(xiàn)跨平臺(tái)的進(jìn)程通信。序列化反序列化機(jī)制的強(qiáng)大之處在于它能自動(dòng)處理序列化對象之間的復(fù)雜關(guān)系(對象之間相互引用,形成復(fù)雜的對象網(wǎng)絡(luò),因此必須保證這種關(guān)系被準(zhǔn)確存儲(chǔ))。我們可以通過反序列化對象來實(shí)現(xiàn)與深度克隆對象相同的效果,當(dāng)然在性能上肯定會(huì)有很大損失。