{ "protocol" : "InteropProtocol", "namespace" : "org.apache.avro", "types" : [ { "type" : "record", "name" : "Foo", "fields" : [ { "name" : "label", "type" : "string" } ] }, { "type" : "enum", "name" : "Kind", "symbols" : [ "A", "B", "C" ] }, { "type" : "fixed", "name" : "MD5", "size" : 16 }, { "type" : "record", "name" : "Node", "fields" : [ { "name" : "label", "type" : "string" }, { "name" : "children", "type" : { "type" : "array", "items" : "Node" } } ] }, { "type" : "record", "name" : "Interop", "fields" : [ { "name" : "intField", "type" : "int" }, { "name" : "longField", "type" : "long" }, { "name" : "stringField", "type" : "string" }, { "name" : "boolField", "type" : "boolean" }, { "name" : "floatField", "type" : "float" }, { "name" : "doubleField", "type" : "double" }, { "name" : "nullField", "type" : "null" }, { "name" : "arrayField", "type" : { "type" : "array", "items" : "double" } }, { "name" : "mapField", "type" : { "type" : "map", "values" : "Foo" } }, { "name" : "unionFIeld", "type" : [ "boolean", "double", { "type" : "array", "items" : "bytes" } ] }, { "name" : "enumField", "type" : "Kind" }, { "name" : "fixedField", "type" : "MD5" }, { "name" : "recordField", "type" : "Node" } ] } ], "messages" : { } }