Существует ли реализация C# для преобразования десериализованного AVRO
<GenericRecord>
обратно в обычный формат JSON? Я успешно прочитал topi c от Kafka и использовал AvroDeserializer
, но я хочу преобразовать его в формат JSON.
Вот пример: Simple JSON:
{
"value": {
"eventCreatedTimestamp": 1588694347577,
"iouDecision": "PLANE",
"iouDecisionReason": {
"value": "Optimal"
}
}
}
То же из десериализованного Generi AVRO c .Record:
{Schema:
{"type":"record","name":"TheCustomerDecisionEvent",
"namespace":"com.farmxxx.tst.property.service.options.iou.messaging.avro","fields":
[{"name":"eventCreatedTimestamp","type":["null","long"]},
{"name":"iouDecision","type":["null",{"type":"enum",
"name":"TheType",
"namespace":"com.farmxxx.tst.property.service.options.iou.messaging.avro",
"symbols":["HRMR","FIELD","PLANE"]}]},
{"name":"iouDecisionReason","type":["null",{"type":"record","name":"iouDecisionReason",
"namespace":"com.farmxxx.tst.property.service.options.iou.messaging.avro",
"fields":[{"name":"value","type":["null","string"]}]}]}]}
,
contents: { eventCreatedTimestamp: 1588694347577,
iouDecision: Schema: {"type":"enum","name":"TheType",
"namespace":"com.farmxxx.tst.property.service.options.iou.messaging.avro",
"symbols":["HRMR","FIELD","PLANE"]}, value: PLANE,
iouDecisionReason: Schema: {"type":"record","name":"iouDecisionReason",
"namespace":"com.farmxxx.tst.property.service.options.iou.messaging.avro",
"fields":[{"name":"value","type":["null","string"]}]}, contents: { value: Optimal, }, }}
Итак, задача - вернуться к Simple JSON из AVRO Generi c .Record.