有没有办法将JSON数据转换为C#中的avro模式?
我正在尝试将输入的json数据转换为avro模式。 通过融合Avro序列化,可以将Json模式转换为Avro模式。 但是,如何将JSON数据转换为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
预期的输出将是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());
}
}