我正在努力寻找一个库,它将Java对象的简单图形序列化为JSON(不需要循环引用或任何东西)。我不想在输出中有Java类名,但包括一个额外的“@type”:“foo”属性没问题。它必须适用于无类型的集合和映射。我希望必须执行mapper.registerType(MyClass.class,“foo”)之类的操作来指定类型映射,但库必须从那里获取它。有谁知道这样的事情?
答案 0 :(得分:2)
答案 1 :(得分:1)
你搜索这样的东西吗?
http://code.google.com/p/json-io/
json-io由两个主要类组成,一个是读者(JsonReader)和一个 作家(JsonWriter)。有一个第三严格的测试类 (TestJsonReaderWriter)。 json-io消除了使用的需要 ObjectInputStream / ObjectOutputStream来序列化Java而不是 使用JSON格式。
...
用法
json-io可以直接在JSON Strings或Java的Streams上使用。
答案 2 :(得分: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);