enhanced JSON <-> Avro support