我正在努力寻找一个库,它将一个简单的 Java 对象图序列化到 JSON 或从 JSON 序列化(不需要循环引用或任何东西)。我不想在输出中包含 Java 类名,但包含一个额外的 "@type": "foo" 属性就可以了。它必须与无类型的集合和映射一起使用。我希望必须执行类似 mapper.registerType(MyClass.class, "foo") 的操作来指定类型映射,但库必须从那里获取它。有人知道这样的事情吗?
问问题
2018 次
3 回答
1
看看Genson,它提供了完整的数据绑定支持,具有多态和无类型对象,并具有许多其他特性。
// this defines aliases for classes, if you don't care of class names being
// serialized then just enabled type ser/deser using builder.setWithClassMetadata(true)
Genson genson = new Genson.Builder()
.addAlias("person", Person.class)
.addAlias("other", Some.class)
.create();
// serialize using with type information
String json = genson.serialize(object);
// deserializing to an unkown type based on the type information in the json string
genson.deserialize(json, Object.class);
于 2013-05-24T19:12:48.113 回答
1
你搜索这样的东西吗?
http://code.google.com/p/json-io/
json-io 由两个主要类组成,一个读取器(JsonReader)和一个写入器(JsonWriter)。有第三个严格的测试类(TestJsonReaderWriter)。json-io 消除了使用 ObjectInputStream / ObjectOutputStream 序列化 Java 的需要,而是使用 JSON 格式。
...
用法
json-io 可以直接用于 JSON 字符串或 Java 的 Streams。
于 2013-05-24T17:26:16.263 回答