XStream
提供了Obj与JSON之间的转换,鉴于XStream主要面向XML的转换,JSON只是附加功能,简单说说怎么使用。
以下基于1.3.1版本
创建XStream时指定JSON解析Driver
XStream xsJson = new XStream(new JettisonMappedXmlDriver());
官方提供了两种Driver:
1.JsonHierarchicalStreamDriver 不依赖其他类库,只实现 obj->JSON
2.JettisonMappedXmlDriver 依赖jettison类库,实现 JSON->obj or obj->JSON
两种Driver在处理相同设置的Object时会得到不同的JSON串,JsonHierarchicalStreamDriver得到的串更简洁,确如官网所说。
JsonHierarchicalStreamDriver有个小问题——默认输出带格式的JSON串,结构中带空格、换行,并且没有提供修饰方式。
覆盖createWriter方法可以解决这个问题。
public class FormatedJsonHierarchicalStreamDriver extends JsonHierarchicalStreamDriver {
@Override
public HierarchicalStreamWriter createWriter(Writer out) {
return new JsonWriter(out, "", "");
}
}
使用新的Driver创建XStream即可
XStream xsJson = new XStream(new FormatedJsonHierarchicalStreamDriver());
分享到:
相关推荐
Xstream和Json是两种广泛使用的工具,分别用于Java对象到XML和JSON格式的转换。本文将深入探讨Xstream库如何与Json进行交互,以及在实际应用中的使用。 Xstream是一个Java库,它提供了简单、高效的方式来序列化和反...
本篇文章将深入探讨xStream如何实现Java对象与XML和JSON的相互转换,并提供详细的代码示例。 ### 1. xStream的安装与引入 首先,你需要在项目中添加xStream的依赖。如果你使用的是Maven,可以在pom.xml文件中添加...
XStream在运行时使用Java反射机制对要进行序列化的对象树的结构进行探索,并不需要对对象作出修改。XStream可以序列化内部字段,包括私private和final字段,并且支持非公开类以及内部类。 在缺省情况下,XStream不...
xStream完美转换XML、JSON,包括XML转换成对象,以及对象转换成XML,以及对象转换成JSON,以及注意事项
在这个场景中,我们将探讨如何使用XStream将XML文档转换成Java对象,进而转化为JSON对象。 首先,我们需要引入XStream库。XStream的核心功能是能够将Java对象和XML之间的映射自动化,极大地简化了序列化和反序列化...
标题 "xStream完美转换XML、JSON" 指的是使用xStream库在Java中进行XML与JSON数据格式之间的转换。xStream是一个强大的库,它提供了一种简单的方式来序列化和反序列化Java对象到XML,反之亦然。在这个场景中,它同样...
要实现JSON序列化,首先需要在项目中添加Xstream和Jettison的依赖。在本示例中,`xstream-1.3.1.jar`是Xstream的核心库,而`jettison-1.0.1.jar`则是提供JSON支持的库。接下来,我们需要创建Xstream实例,并配置它...
**XStream:JavaBean与XML/JSON之间的转换大师** XStream是一个开源库,它为Java对象提供了简单且直观的XML序列化和反序列化的解决方案。它不仅能够将Java对象转换成XML,反之亦然,还能支持JSON格式的转换。这个...
要将Java bean转换为XML,你需要创建一个XStream实例并使用它来转换对象。以下是一个简单的示例: ```java import com.thoughtworks.xstream.XStream; public class User { private String name; private int ...
《xStream完美转换XML、JSON》学习笔记 在IT领域,数据交换是常见的需求,而XML和JSON作为两种广泛使用的数据格式,它们之间的转换尤为重要。xStream是一个强大的Java库,它能够轻松地将Java对象序列化为XML或反...
值得注意的是,虽然XStream与Jettison结合可以处理JSON,但在某些情况下,专门针对JSON的库如Jackson或Gson可能更适合,因为它们提供了更丰富的功能和更好的性能。然而,如果你的项目已经使用了XStream并且需要处理...
在XML到JSON转换过程中,XStream可能首先用于将XML数据转换为Java对象,然后这些对象再由Json-lib处理成JSON格式。 XML到JSON的转换通常包括以下步骤: - 解析XML文档,将其转换为DOM(Document Object Model)树。...
标题提到的“XStream的Date转换 @XStreamConverter DateConverter”主要涉及两个核心概念:XStream的转换器(Converter)和`@XStreamConverter`注解。转换器是XStream的核心机制之一,它负责将Java对象转化为XML元素...
这就是XStream转换器的作用。 转换器分为两种类型:LocalConverter和HierarchicalStreamConverter。LocalConverter仅对特定的域对象实例进行转换,而HierarchicalStreamConverter则可以处理整个XML层级结构。 1. *...
4. **XStream与JSON转换** XStream不仅支持XML,还内置了对JSON的支持。只需添加额外的转换器,如使用Jettison库,即可实现JavaBean与JSON的转换。 5. **实战演示** 在`xmlAnalysis`文件夹中,可能包含了一个简单...
Xstream 是一个 Java 库,用于处理 XML 文件的序列化和反序列化,同时也支持将 JavaBean 转换为 JSON 格式。它的核心理念是通过简单的 API 设计,使得 XML 序列化过程变得简洁,无需额外的映射文件或辅助类。 ### 1...
【xStream 框架详解:Java对象与XML、JSON的完美转换】 xStream是一个强大的Java库,它提供了简单易用的API,用于将Java对象序列化为XML,以及将XML反序列化回Java对象。此外,xStream还支持JSON格式的转换。这个...
- **序列化**: XStream可以将一个Java对象转换成XML字符串,这个过程叫做对象的序列化。通过简单的API调用,开发者可以将复杂的Java对象结构转化为易于理解和处理的XML格式。 - **反序列化**: 反之,它也能将XML...
总结来说,XML与JSON之间的转换在开发中扮演着重要角色,而XStream库提供了一个方便的方式来实现这种转换。了解如何使用XStream进行XML与JSON的互换,并编写相应的测试,对于任何处理数据交换的Java开发者都至关重要...