在C#和Java之间交换msgpack文件

时间:2018-09-06 15:55:34

标签: java c# msgpack

我正在研究一种解决方案,其中一些组件是用C#编写的,而有些则是用Java编写的。他们将需要交换msgpack文件;即C#模块将创建(序列化)msgpack文件,以供Java模块使用(反序列化),反之亦然。

我正在考虑在C#端使用MsgPack.Cli(版本1.0.0),在Java端使用jackson-dataformat-msgpack(版本0.8.16)。

除我无法正确序列化/反序列化日期外,大多数都可以正常工作。

这似乎可以在C#端配置:

var context = new SerializationContext
{
    SerializationMethod = SerializationMethod.Array,
    DefaultDateTimeConversionMethod = DateTimeConversionMethod.Timestamp, 
};

var serializer = context.GetSerializer<T>();

与Java相同:

ObjectMapper mapper = new ObjectMapper(new MessagePackFactory());
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, true);

但是,我还没有找到跨平台解决方案的兼容组合。

您如何配置串行器(C#)和映射器(Java),以便在C#和Java之间通过msgpack交换日期?

0 个答案:

没有答案