Java 无法使用avro数组类型反序列化json
我在尝试使用apache avro反序列化Java 无法使用avro数组类型反序列化json,java,arrays,apache,avro,Java,Arrays,Apache,Avro,我在尝试使用apache avro反序列化json时遇到以下异常: Exception in thread "main" org.apache.avro.AvroTypeException: Unknown union branch sampleArrayRecordString at org.apache.avro.io.JsonDecoder.readIndex(JsonDecoder.java:445) 代码如下: final Schema schema = Schema.par
json
时遇到以下异常:
Exception in thread "main" org.apache.avro.AvroTypeException: Unknown union branch sampleArrayRecordString
at org.apache.avro.io.JsonDecoder.readIndex(JsonDecoder.java:445)
代码如下:
final Schema schema = Schema.parse(new File(
"<schema_file_path>"));
byte[] payload = Files.readAllBytes(Paths.get(
"<json_file_path>"));
GenericRecord record = new GenericDatumReader<GenericRecord>(schema).read(null,
DecoderFactory.get().jsonDecoder(schema, new String(payload)));
System.out.println(record);
最后,下面是json:
{
"eventBody": {
"a.b.SampleBody": {
"sampleArray": [{
"sampleArrayRecordString": "KLMNO"
}]
}
}
}
我是否需要指定任何元数据才能工作
{
"eventBody": {
"a.b.SampleBody": {
"sampleArray": [{
"sampleArrayRecordString": "KLMNO"
}]
}
}
}