XStream

来自开放百科 - 灰狐
跳转到: 导航, 搜索
Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 XStream Thanks, Wikipedia.

XStream是一个开源(BSD) Java类库,用来将对象序列化成XMLJSON或反序列化为对象。

Features

  • Ease of use. A high level facade is supplied that simplifies common use cases.
  • No mappings required. Most objects can be serialized without need for specifying mappings.
  • Performance. Speed and low memory footprint are a crucial part of the design, making it suitable for large object graphs or systems with high message throughput.
  • Clean XML. No information is duplicated that can be obtained via reflection. This results in XML that is easier to read for humans and more compact than native Java serialization.
  • Requires no modifications to objects. Serializes internal fields, including private and final. Supports non-public and inner classes. Classes are not required to have default constructor.
  • Full object graph support. Duplicate references encountered in the object-model will be maintained. Supports circular references.
  • Integrates with other XML APIs. By implementing an interface, XStream can serialize directly to/from any tree structure (not just XML).
  • Customizable conversion strategies. Strategies can be registered allowing customization of how particular types are represented as XML.
  • Error messages. When an exception occurs due to malformed XML, detailed diagnostics are provided to help isolate and fix the problem.
  • Alternative output format. The modular design allows other output formats. XStream ships currently with JSON support and morphing.

下面是xml与java对象互转的代码。

Xstream  xs = new Xstream();
String xml = xs.toXML(foo);
Foo foo = (Foo)xs.FromXML(xml);  

XStream也用Jettison做driver,支持Java对象与JSON的序列化

XStream xstream = new XStream(new JettisonMappedXmlDriver());

http://xstream.codehaus.org/

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱