【发布时间】:2013-04-03 09:14:27
【问题描述】:
我一直在考虑这两个 JSON 库:
- 谷歌 Gson
- JSON.Simple
- XStream
Google Gson 非常棒,它可以序列化具有无参数构造函数的类对象。 JSON.Simple 很简洁,有一个非常简单易用的 API。然而,这些 JSON/Object 映射库可以在多大程度上破坏,即不能再编组对象,无论是在序列化还是反序列化方面。
适用于以下场景:
- 类的嵌套,即类中的类等
- 类中类中的非常长的字符串值以及诸如此类的事情
- 对象的大小,即包含巨大字节的对象
编组无法忍受或撞墙的场景有哪些?
我只是在这里大声思考,以了解将这些框架用作我的应用程序的主干时会出现什么问题。以及我们如何预见可能发生的潜在怪癖。
更新:
关于可移植性,我们可以在多大程度上回复(取消)编组,尤其是在处理对象分发时。例如,“序列化”对象通过另一台机器发送,具有不同的 CPU、JVM 等,并且旨在“反序列化”并以某种方式使用。
【问题讨论】:
-
你也可以看看gensoncode.google.com/p/genson,它好用,提供流式API/数据绑定,即使没有默认ctr也可以反序列化等等
标签: java json marshalling xstream unmarshalling