我有以下Json返回结果:
[{"CreatedBy":"GIS_DB","CreatedDate":"2012年3月8日上午10:44","Id":39,"ModifiedBy":"","ModifiedDate":"","Name":"CF-39","StatusId":1,"TrailCoordinates":[{"CreatedBy":"GIS_DB","CreatedDate":"2012年3月8日上午10:44","Id":1637,"Latitude":32.76004207,"Longitude":-97.34006853,"ModifiedBy":"","ModifiedDate":"","SortOrder":1,"TrailId":39},{"CreatedBy":"GIS_DB","CreatedDate":"2012年3月8日上午10:44","Id":1638,"Latitude":32.76004333,"Longitude":-97.34012121,"ModifiedBy":"","ModifiedDate":"","SortOrder":2,"TrailId":39}]},{"CreatedBy":"GIS_DB","CreatedDate":"2012年3月8日上午10:44","Id":40,"ModifiedBy":"","ModifiedDate":"","Name":"CF-40","StatusId":1,"TrailCoordinates":[{"CreatedBy":"GIS_DB","CreatedDate":"2012年3月8日上午10:44","Id":3755,"Latitude":32.76034332,"Longitude":-97.3402069,"ModifiedBy":"","ModifiedDate":"","SortOrder":1,"TrailId":40},{"CreatedBy":"GIS_DB","CreatedDate":"2012年3月8日上午10:44","Id":3756,"Latitude":32.76019181,"Longitude":-97.3402448,"ModifiedBy":"","ModifiedDate":"","SortOrder":2,"TrailId":40}]}
以下是我的类...
[{"CreatedBy":"GIS_DB","CreatedDate":"2012年3月8日上午10:44","Id":39,"ModifiedBy":"","ModifiedDate":"","Name":"CF-39","StatusId":1,"TrailCoordinates":[{"CreatedBy":"GIS_DB","CreatedDate":"2012年3月8日上午10:44","Id":1637,"Latitude":32.76004207,"Longitude":-97.34006853,"ModifiedBy":"","ModifiedDate":"","SortOrder":1,"TrailId":39},{"CreatedBy":"GIS_DB","CreatedDate":"2012年3月8日上午10:44","Id":1638,"Latitude":32.76004333,"Longitude":-97.34012121,"ModifiedBy":"","ModifiedDate":"","SortOrder":2,"TrailId":39}]},{"CreatedBy":"GIS_DB","CreatedDate":"2012年3月8日上午10:44","Id":40,"ModifiedBy":"","ModifiedDate":"","Name":"CF-40","StatusId":1,"TrailCoordinates":[{"CreatedBy":"GIS_DB","CreatedDate":"2012年3月8日上午10:44","Id":3755,"Latitude":32.76034332,"Longitude":-97.3402069,"ModifiedBy":"","ModifiedDate":"","SortOrder":1,"TrailId":40},{"CreatedBy":"GIS_DB","CreatedDate":"2012年3月8日上午10:44","Id":3756,"Latitude":32.76019181,"Longitude":-97.3402448,"ModifiedBy":"","ModifiedDate":"","SortOrder":2,"TrailId":40}]}
以下是我的类...
public class Trails
{
[MonoTouch.Foundation.Preserve]
public Trails(){ TrailCoord = new List<trailcoords>();}
[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<trailcoords> TrailCoord { get; set; }
// public trailcoords
public Trails (string trailname, int statusid, List<trailcoords> 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<Trails> Posts = JsonConvert.DeserializeObject<List<Trails>> ( json );
从这里开始,我不确定如何访问列表中的经度和纬度项。 我可以轻松访问TrailName之类的内容,但不确定如何处理数组中的数组项。 我想将它们添加到结构体中,以便像这样绘制它们作为线条(硬编码值):
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<CLLocationCoordinate2D[]>();
_trailOverlayPoints.Add(tmpTrail1);
_trailOverlayPoints.Add(tmpTrail2);