有没有办法将JSON数据转换为C#中的avro模式?

有没有办法将JSON数据转换为C#中的avro模式?,c#,.net,serialization,json.net,avro,C#,.net,Serialization,Json.net,Avro,我正在尝试将输入的json数据转换为avro模式。 通过融合Avro序列化,可以将Json模式转换为Avro模式。 但是,如何将JSON数据转换为Avro模式呢 输入 预期的输出将是Avro架构。您可以使用Microsoft.Hadoop.Avro.AvroSerializer。从此处复制的此代码有助于: 公共任务序列化(TData数据) 其中TData:class { 使用(var buffer=new MemoryStream()) { //序列化数据。 var avroSerialize

我正在尝试将输入的json数据转换为avro模式。 通过融合Avro序列化,可以将Json模式转换为Avro模式。 但是,如何将JSON数据转换为Avro模式呢

输入


预期的输出将是Avro架构。

您可以使用
Microsoft.Hadoop.Avro.AvroSerializer
。从此处复制的此代码有助于:

公共任务序列化(TData数据) 其中TData:class { 使用(var buffer=new MemoryStream()) { //序列化数据。 var avroSerializer=Microsoft.Hadoop.Avro.avroSerializer.Create(_设置); 序列化(缓冲区、数据); //返回缓冲区的内容。 查找(0,SeekOrigin.Begin); 返回Task.FromResult(buffer.ToArray()); } }
这里的TData是一个可以序列化为Json的模型。

我想将Json数据转换为Avro模式。@me\u编写一个模型类,将Json反序列化为它,然后将它传递给这个显示的函数。没有直接翻译我想你是在要求Avro记录,而不是模式。而且,合流的工具不能做到你所说的,阿飞
{
   "name": "first Name",
   "age": "25",
}
    public Task<byte[]> Serialize<TData>(TData data)
        where TData : class
    {
        using (var buffer = new MemoryStream())
        {
            // Serialize the data.
            var avroSerializer = Microsoft.Hadoop.Avro.AvroSerializer.Create<TData>(_settings);

            avroSerializer.Serialize(buffer, data);

            // Return the contents of the buffer.
            buffer.Seek(0, SeekOrigin.Begin);
            return Task.FromResult(buffer.ToArray());
        }
    }