支持标记联合的序列化格式

时间:2015-01-05 12:05:00

标签: serialization algebraic-data-types discriminated-union

这个问题在2012年有been asked,但我正在寻找新的更新。

是否有支持标记联合(也称为和类型)的序列化格式?我的要求是它有Java和.Net客户端库,它应该“合理成熟”。性能不是主要问题。

Avro提供部分支持,但不允许嵌套联合(http://avro.apache.org/docs/1.7.6/spec.html#Unions)。 Cap'n Proto似乎有better support,但我不确定它是否已准备就绪。 Transit没有直接支持,但提供的extension mechanism可能能够支持已标记的联盟。

对上述选择的任何其他建议或评论?

1 个答案:

答案 0 :(得分:3)

Protocol Buffers版本2.6.0增加了对the oneof declaration形式的标记联合的支持,但看起来protobuf-net最近没有更新,所以我猜它还不支持这个。 / p>

Cap'n Proto用于许多地方的制作(例如CloudFlare),但C#和Java实现相对较新。

(披露:我是Cap'n Proto的作者,也是Google的大部分开源Protobuf代码。)