title: Parsing Multidimensional JSON Array with Newtonsoft Json.NET
body: <p>I have Json returning as the following:</p>
  
  <blockquote>
    <p>[{"CreatedBy":"GIS_DB","CreatedDate":"3/8/2012 10:44:00
    AM","Id":39,"ModifiedBy":"","ModifiedDate":"","Name":"CF-39","StatusId":1,"TrailCoordinates":[{"CreatedBy":"GIS_DB","CreatedDate":"3/8/2012
    10:44:00
    AM","Id":1637,"Latitude":32.76004207,"Longitude":-97.34006853,"ModifiedBy":"","ModifiedDate":"","SortOrder":1,"TrailId":39},{"CreatedBy":"GIS_DB","CreatedDate":"3/8/2012
    10:44:00
    AM","Id":1638,"Latitude":32.76004333,"Longitude":-97.34012121,"ModifiedBy":"","ModifiedDate":"","SortOrder":2,"TrailId":39}]},{"CreatedBy":"GIS_DB","CreatedDate":"3/8/2012
    10:44:00
    AM","Id":40,"ModifiedBy":"","ModifiedDate":"","Name":"CF-40","StatusId":1,"TrailCoordinates":[{"CreatedBy":"GIS_DB","CreatedDate":"3/8/2012
    10:44:00
    AM","Id":3755,"Latitude":32.76034332,"Longitude":-97.3402069,"ModifiedBy":"","ModifiedDate":"","SortOrder":1,"TrailId":40},{"CreatedBy":"GIS_DB","CreatedDate":"3/8/2012
    10:44:00
    AM","Id":3756,"Latitude":32.76019181,"Longitude":-97.3402448,"ModifiedBy":"","ModifiedDate":"","SortOrder":2,"TrailId":40}]}]</p>
  </blockquote>
  
  <p>These are my classes...</p>
  
  <pre><code>public class Trails
  {
      [MonoTouch.Foundation.Preserve]
      public Trails(){ TrailCoord = new List&lt;trailcoords&gt;();}
  
      [MonoTouch.Foundation.Preserve, JsonProperty("Name")]
      public string TrailName { get; set; }
  
      [MonoTouch.Foundation.Preserve, JsonProperty("StatusId")]
      public int StatusId { get; set; }
  
      [MonoTouch.Foundation.Preserve, JsonProperty("TrailCoordinates")]
      public List&lt;trailcoords&gt; TrailCoord { get; set; }
  //  public trailcoords 
  
  public Trails (string trailname, int statusid, List&lt;trailcoords&gt; trailcoord)
  {
      TrailName = trailname;
          StatusId = statusid;
          TrailCoord = trailcoord;
      }       
  }
  
  public class trailcoords
  {       
          [MonoTouch.Foundation.Preserve]
      public trailcoords(){}  
  [MonoTouch.Foundation.Preserve, JsonProperty("TrailId")]
      public string TrailId { get; set; }     
  
      [MonoTouch.Foundation.Preserve, JsonProperty("Latitude")]
      public double Latitude { get; set; }    
  [MonoTouch.Foundation.Preserve, JsonProperty("Longitude")]
      public double Longitude { get; set; }   
  
  public trailcoords (string trailid, double latitude, double longitude)
  {
      TrailId = trailid;
          Latitude = latitude;
          Longitude = longitude;
      }
  }
  
  List&lt;Trails&gt; Posts = JsonConvert.DeserializeObject&lt;List&lt;Trails&gt;&gt; ( json );
  </code></pre>
  
  <p>So from here I am not sure how I would access the Latitude and Longitude items in my list.  I can access things like TrailName no problem but not sure what i'm doing wrong with the items in the array within the array.  I would like to add them so that I can plot them as lines in a structure similar to this that I made (hardcoded values):</p>
  
  <pre><code>CLLocationCoordinate2D[] tmpTrail1 = new CLLocationCoordinate2D[]{
    new CLLocationCoordinate2D(32.751531, -97.361755),
    new CLLocationCoordinate2D(32.751451, -97.356625),
    new CLLocationCoordinate2D(32.751500, -97.332077),
  };
  
  CLLocationCoordinate2D[] tmpTrail2 = new CLLocationCoordinate2D[] {
    new CLLocationCoordinate2D(32.727353, -97.361139),
    new CLLocationCoordinate2D(32.747731, -97.359896),
    new CLLocationCoordinate2D(32.765735, -97.360360),
  };
  
  _trailOverlayPoints = new List&lt;CLLocationCoordinate2D[]&gt;();
  _trailOverlayPoints.Add(tmpTrail1);
  _trailOverlayPoints.Add(tmpTrail2);
  </code></pre>