XStream处理JSON和XML

1.1 创建序列化的类
public class ExcuteJob
{
private String name;
private String group;
private String className;
private String cronExpression;
}
public class ExcuteJobs
{
private ArrayList<ExcuteJob> excuteJobs;

public ArrayList<ExcuteJob> getExcuteJobs()
{
return excuteJobs;
}

public void setExcuteJobs(ArrayList<ExcuteJob> excuteJobs)
{
this.excuteJobs = excuteJobs;
}
}
注意:
请注意上面两个类的字段都是私有的,XStream并不关心字段的可见性,没有getter/setter也没关系,也不要求具有默认的构造函数。
1.2 初始化XStream
XStream stream = new XStream();

stream.addImplicitCollection(ExcuteJobs.class, "excuteJobs");
该方法的作用是引入隐含集合(Implicit Collection),即某个类包含集合字段,引入隐含集合方法可以在生成的XML中并不显示集合字段的标签。

stream.alias("excuteJob", ExcuteJob.class);
stream.alias("excuteJobs", ExcuteJobs.class);
注意:这是可选的步骤,没有这一步Xstream也能够正常工作,但是XML的元素名会包含类的完全路径(包含报名),造成XML不够简洁。
1.3 序列化对象至XML
String xml = xstream.toXML(实例对象);
1.4 从XML反序列化至对象
根据序列化的XML重建一个JavaBean,只需调用Xstream对象的fromXML(String)方法即可。
InputStream iptFile = JobExcute.class.getClassLoader().getResourceAsStream("jobmission.xml");
ExcuteJobs jobs = (ExcuteJobs) stream.fromXML(iptFile);
ArrayList<ExcuteJob> jobList = jobs.getExcuteJobs();
for (ExcuteJob job : jobList){}
1.5 快速上手小结
(1) xstream.alias(String elementName, Class cls);
该方法用于创建自定义类类名所对应XML元素的名称。
(2) xstream.toXML(Object obj);
该方法用于将传入的JavaBean对象序列化为XML字符串并返回。
(3) xstream.fromXML(String xml);
该方法用于将传入的XML字符串反向序列化为JavaBean对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值