序列化一个AVRO对象以在Python中串起



在python 3.7中,我想将avro对象编码为字符串。
我发现示例转换为字节数组,但没有字符串。

转换为字节数组的代码:

def serialize(mapper, schema):
    bytes_writer = io.BytesIO()
    encoder = avro.io.BinaryEncoder(bytes_writer)
    writer1 = avro.io.DatumWriter(schema)
    writer1.write(mapper, encoder)
    return bytes_writer.getvalue()

mapper是一个词典,它将填充avro对象。
io提供StringIO,我假设需要使用它代替BytesIO,但是与之使用的编码器是什么呢?我们如何序列化?

例如,如果a是您的AVRO对象,则可以使用AVRO的a.to_json(),然后使用json.dumps(a)

最新更新