
com.networknt.kafka.common.AvroConverter Maven / Gradle / Ivy
package com.networknt.kafka.common;
import org.apache.avro.io.DatumWriter;
import org.apache.avro.io.NoWrappingJsonEncoder;
import org.apache.avro.specific.SpecificDatumWriter;
import org.apache.avro.specific.SpecificRecord;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
public class AvroConverter {
public static String toJson(SpecificRecord record, boolean pretty) {
try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
NoWrappingJsonEncoder jsonEncoder = new NoWrappingJsonEncoder(record.getSchema(), baos, pretty);
DatumWriter writer = new SpecificDatumWriter<>(record.getSchema());
writer.write(record, jsonEncoder);
jsonEncoder.flush();
baos.flush();
byte[] bytes = baos.toByteArray();
return new String(bytes, StandardCharsets.UTF_8);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy