序列化可以“序列化”吗在Java中使用注释的对象
我不确定“Serialize”是否是合适的词,但我想创建一些可以做到这一点的东西,目前:
private interface DummySerializer {
default Map<String, String> serialize() {
// Creates a Key/Value pair for all objects using the @DSerialize annotation.
}
}
class DummyClass implements DummySerializer {
private int hello = 0;
@DSerialize private int world = 1;
}
Map<String, String> = new DummyClass().serialize();
// Print key/value pairs
这个例子可以打印出来
world, 1
因为变量名为“world”,包含@DSerialize
注释,变量值为1
我怎么能这样做呢
甚至可以进一步获得变量的类型,例如“整数”或“浮点”
# 1 楼答案
看看messagepack——它是一种用于序列化的跨平台协议(他们称之为二进制json)。java实现基于注释。作为一个很好的特性,您可以序列化java对象,然后用不同的编程语言将其反序列化为对象
严格地说,我想这不是你要找的,但它能胜任这项工作 http://msgpack.org/(java example here)