Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法使用avro数组类型反序列化json_Java_Arrays_Apache_Avro - Fatal编程技术网

Java 无法使用avro数组类型反序列化json

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

我在尝试使用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.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"
            }]
        }
    }
}