我有一个JSON,看起来像这样:
[
{"id":1},
{"id":2},
{"id":3}
]
当然还有更多的属性,但这足以重现错误。
我试图通过使用JsonAvroConverter
类的方法convertToGenericDataRecord
将JSON转换为Generic.Record
。
String json = "[{"id":1},{"id":2},{"id":3}]";
String schema =
"{" +
" "type" : "array"," +
" "items" : {"type":"record","name":"ids", "fields":[{ "name" : "id", "type" : "string" }]}" +
"}";
JsonAvroConverter converter = new JsonAvroConverter();
GenericData.Record record = converter.convertToGenericDataRecord(json.getBytes(), new Schema.Parser().parse(schema));
它正在投掷:Can not deserialize instance of java.util.LinkedHashMap out of START_ARRAY token
[] json中括号通常用来表示列表。
表示哈希映射,您只需要
{
"key": "value",
"key": "value"
}