title: Avro Schema and Arrays
body: <p>In C# I can define these two POCOs to define generations </p>
  
  <pre><code>public class Family
  {
  public List&lt;Person&gt; FamilyMembers {get; set;}
  }
  
  public class Person
  {
  public string FirstName {get; set;}
  public string LastName {get; set;}
  public List&lt;Person&gt; Children {get; set;}
  }
  </code></pre>
  
  <p>I am attempting to define an AVRO schema to serialize FamilyMembers to. Is it possible in Avro to define a recursive array (not sure if that's the proper term), rather than having to specify each generation in the schema like below.</p>
  
  <pre><code>{
    "type": "record",
    "name": "family",
    "namespace": "com.family.my",
    "fields": [
  
      {
       "name":"familymember",
              "type":{
                  "type": "array",  
                  "items":{
                      "name":"person",
                      "type":"record",
                      "fields":[
                                  {"name":"firstname", "type":"string"},
                                  {"name":"lastname",  "type":"string"},
                                  {"name":"children",
                                              "type":{
                                              "type": "array",  
                                              "items":{
                                                      "name":"children",
                                                      "type":"record",
                                                      "fields":[
                                                                  {"name":"firstname", "type":"string"},
                                                                  {"name":"lastname",  "type":"string"},
                                                                   {"name":"grandchildren",
                                                                                  "type":{
                                                                                  "type": "array",  
                                                                                  "items":{
                                                                                          "name":"greatgrandchildren",
                                                                                          "type":"record",
                                                                                          "fields":[
                                                                                                      {"name":"firstname", "type":"string"},
                                                                                                      {"name":"lastname",  "type":"string"}
  
                                                                                                  ]   
                                                                                              }
                                                                                      }}
                                                              ]   
                                                          }
                                                  }}
                      ]   
                  }
              }
      }
  
  
    ]
  }
  </code></pre>