In the early days of Avro you could only use JSON to write out schema's and it was incredibly cumbersome to write by hand. JSON is useful as a verbose serialization format (which is now basically the role it plays in Avro - they added a more concise IDL), but for hand-crafting I'd much prefer XML.