如何转换" org.apache.avro.generic.GenericRecord" to" java.util.Map"?

时间:2017-09-12 21:25:50

标签: java avro avro-tools

转换的简便方法" org.apache.avro.generic.GenericRecord" to" java.util.Map"

2 个答案:

答案 0 :(得分:3)

使用java 8 lambdas,你可以这样做

Map<String, Object> map = new HashMap<>();
genericRecord.getSchema().getFields().forEach(field -> 
    map.put(field.name(), genericRecord.get(field.name())));

答案 1 :(得分:0)

 Map<String, Object> values = new HashMap<>();
 for (Field field : genericRecord.getSchema().getFields()) {
    values.put(field.name(), genericRecord.get(field.name()));
 }