zoukankan      html  css  js  c++  java
  • xStream完美转换XML、JSON

    XStream is a simple library to serialize objects to XML and back again.

    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.
    • Security framework. Fine-control about the unmarshalled types to prevent security issues with manipulated input.
    • 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.

    Typical Uses

    • Transport
    • Persistence
    • Configuration
    • Unit Tests

    Known Limitations

    If using the enhanced mode, XStream can re-instantiate classes that do not have a default constructor. However, if using a different JVM like an old JRockit version, a JDK 1.4 or you have restrictions because of a SecurityManager, a default constructor is required.

    The enhanced mode is also necessary to restore final fields for any JDK < 1.5. This implies deserialization of instances of an inner class.

    Auto-detection of annotations may cause race conditions. Preprocessing annotations is safe though.

    Tutorials

  • 相关阅读:
    安装开发工具
    CSS基础
    CSS动画
    CSS效果
    CSS布局
    CSS预处理语言
    React开发笔记
    Vue2.0学习笔记
    Vue-cli3.0开发笔记
    项目开发技巧
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/3801605.html
Copyright © 2011-2022 走看看