java8 json转xml_2019-08-17java对象与json,xml互转

依赖的jar包,jackson-all-1.7.6.jar,xstream-1.4.4.jar

下载地址:

链接:https://pan.baidu.com/s/1LflD135qlQiIPGXw5XwDmw

提取码:6v29

复制这段内容后打开百度网盘手机App,操作更方便哦

package json_xml;

import com.thoughtworks.xstream.XStream;

import com.thoughtworks.xstream.io.xml.DomDriver;

import org.codehaus.jackson.JsonFactory;

import org.codehaus.jackson.JsonGenerator;

import org.codehaus.jackson.map.ObjectMapper;

import java.io.IOException;

import java.io.StringWriter;

import java.util.Date;

public class Test {

public static void main(String[] args) throws IOException {

Person person = new Person();

person.setAdderess("hangzhou,China");

person.setAge(18);

person.setBirth(new Date());

person.setName("zhangsan");

//Json对象序列化

String personJson =null;

ObjectMapper mapper = new ObjectMapper();

StringWriter sw = new StringWriter();

JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);

mapper.writeValue(gen,person);

gen.close();

personJson = sw.toString();

System.out.println(personJson);

/**

* {"name":"zhangsan","adderess":"hangzhou,China","age":18,"birth":1566030108817}

*/

//Json对象反序列化

Person zhangsan = mapper.readValue(personJson,Person.class);

System.out.println(zhangsan.toString());

/**

* Person{adderess='hangzhou,China', age=18, birth=Sat Aug 17 16:21:48 CST 2019, name='zhangsan'}

*/

//将Java对象序列化为XML格式

XStream xStream = new XStream(new DomDriver());

//设置person类的别名

xStream.alias("person",Person.class);

String personXML = xStream.toXML(person);

System.out.println(personXML);

/**

*

* hangzhou,China

* 18

* 2019-08-17 08:21:48.817 UTC

* zhangsan

*

*/

//将XML反序列化还原为person对象

Person zhangsan2 =(Person) xStream.fromXML(personXML);

System.out.println(zhangsan2);

/**

* Person{adderess='hangzhou,China', age=18, birth=Sat Aug 17 16:21:48 CST 2019, name='zhangsan'}

*/

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541017.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10.8-全栈Java笔记:序列化/反序列化的步骤和实例

本节我们详细讲解10.3节中提到的序列化和反序列化操作。序列化和反序列化是什么当两个进程远程通信时,彼此可以发送各种类型的数据。 无论是何种类型的数据,都会以二进制序列的形式在网络上传送。比如,我们可以通过http协议发送字符串信息&am…

有效的网络推广超级实用方法

我叫龙雨,先后在百度搜狗工作过3年,后来一直负责一家公司的的网络营销!不知道大家有没有听过111>3这样一个概念,简单来说一下这概念!第一呢就是自己的资源,把自己的资源维护好开发好;第二就是网络营销,网络营销利用…

什么为java运行时的环境_什么是JRE?Java运行时环境简介(一)

Java开发工具包(JDK),Java虚拟机(JVM)和Java运行时环境(JRE)共同构成了用于开发和运行Java应用程序的Java平台组件的强大功能.实际上,运行时环境是一种旨在运行其他软件的软件.作为Java的运行时环境,JRE包含Java类库,Java类加载器和Java虚拟机.在这个系统中:的类加载器是负责正…

c语言atoll函数怎么用_C ++中带有示例的atoll()函数

c语言atoll函数怎么用C Atoll()函数 (C atoll() function) atoll() function is a library function of cstdlib header. It is used to convert the given string value to the integer value. It accepts a string containing an integer (integral) number and returns its…

看清美国“黑客帝国”的真面目

“维基揭秘”网站近日发布了近9000份据称属于美国中央情报局的机密文件,显示中情局拥有强大的黑客攻击能力,秘密侵入了手机、电脑、智能电视等众多智能设备。继美国国家安全局承包商前雇员斯诺登曝光国安局“棱镜”等监控计划之后,此次曝光再…

python 示例_带有示例的Python File close()方法

python 示例文件close()方法 (File close() Method) close() method is an inbuilt method in Python, it is used to flush and close the IO object (file). If we close a closed file it has no effect. close()方法是Python中的内置方法,用于刷新和关闭IO对象(…

linux上mysql分区磁盘位置_Linux下Oracle软件、数据文件等所在的磁盘分区空间不足的解决思路...

虚拟机中的ORACLE运行的久了,归档、数据文件不断增长,原来安装ORACLE的分区空间不足。此时可以重新向虚拟机增加一块硬盘,将OR虚拟机中的Oracle运行的久了,归档、数据文件不断增长,原来安装ORACLE的分区空间不足。此时…

FloatingActionMenu 向上弹出菜单

本人在github上找到了一个FloatingActionsMenu,精简了其效果(原效果有上下左右四个方向)仅仅保留向上的效果,并做了一定的优化。github上的源代码:地址 ,精简后的源代码地址:源代码地址。 转载于:https://www.cnblogs.…

java uuid静态方法_Java UUID的variant()方法和示例

java uuid静态方法UUID类variant()方法 (UUID Class variant() method) variant() method is available in java.util package. variant()方法在java.util包中可用。 variant() method is used to get the variant number linked with this UUID. variant()方法用于获取与此UUI…

java程序服务不能启动不了_JavaService.exe注册的windows服务无法启动问题

最近开发了个java程序,打成 jar 包想要在windows后台运行,于是使用JavaService.exe进行windows服务注册,服务注册很成功,但是在启动时显示“服务无法启动”,为此耗费了大量的时间与精力,终于发现问题所在&a…

给孩子一束安全的光 明基WiT MindDuo亲子共读灯首发评测

论一束光的重要性你该听听一个高度近视孩子的自述,论童年陪伴的重要性你该听听一个留守儿童的自述,改善孩子童年的全球第一盏亲子共读台灯,贴合孩子与家长的心灵,量身打造每一种情境的光线去感受孩子成长学习过程 一个高度近视眼孩…

Java Scanner next()方法与示例

扫描仪类的next()方法 (Scanner Class next() method) Syntax: 句法: public String next();public String next(Pattern patt);public String next(String patt);next() method is available in java.util package. next()方法在java.util包中可用。 next() metho…

mysql怎样查表的模式_mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】...

1、mysql简单的查询:select 字段1,字段2... from tablename;如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都是用*。2、去重查询:selec…

Google再次从官方商店下架伪装成合法程序的恶意应用

本月内的第二次,Google 从官方应用商店 Google Play 移除了伪装成合法程序的恶意应用。被移除的应用都属于名叫 Ztorg 的 Android 恶意程序家族,能利用已知的漏洞 root 被感染的设备,使其很难被删除。自去年 9 月以来,Ztorg 恶意应…

java scanner_Java Scanner skip()方法与示例

java scanner扫描仪类skip()方法 (Scanner Class skip() method) Syntax: 句法: public Scanner skip(Pattern patt);public Scanner skip(String patt);skip() method is available in java.util package. skip()方法在java.util包中可用。 skip(Pattern patt) me…

MySQL文件后_MySQL误删除文件后,如何恢复

MySQL在运行中,如果误删除数据文件,只有服务进程没有退出,那么就有办法将其恢复。首先介绍Linux下lsof:他可以显示打开的文件和网络连接。其次/proc目录包含了反映内核和进程树的各种文件。/proc/504目录包含的是PID是504的进程信…

【载誉】致远互联荣获“2017最佳协同管理解决方案”殊荣

6月15日,一年一度的大连软交会于大连市世界博览广场盛大举行。“2017企业服务创新论坛”作为软交会最重要的组成部分之一,本年度以“守正出新——通往基业长青的数字化选择”为主题,吸引到近200位企业级服务领域的企业家及高管参加。致远互联…

c++ cdi+示例_C ++中带有示例的本地类

c cdi示例C 中的本地类 (Local Class in C) In C, generally a class is declared outside of the main() function, which is global for the program and all functions can access that class i.e. the scope of such class is global. 在C 中,通常在main()函数外…

RabbitMQ安装|使用|概念|Golang开发

手册:http://www.rabbitmq.com/getstarted.html 安装:http://www.rabbitmq.com/download.html 参考:http://blog.csdn.net/whycold/article/details/41119807 一.介绍 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议&#xff0c…

python中的替换函数_python:替换模块类中的函数

我试图替换类中定义的函数,以便在不更改实际代码的情况下修改其函数(如内部工作)。我以前从来没有这样做过,因此在更换它时遇到一些问题。更改代码会让我访问python库中的包,这不是一个很好的选择。例如,如果模块名为testmodclass testMOD(object):def testFunc(self, variable…