У меня есть Json, возвращающийся следующим образом:
[{"CreatedBy": "GIS_DB", "CreatedDate": "08.03.2012 10:44:00
AM " "Id": 39, "ModifiedBy": "", "ModifiedDate": "", "Имя": "CF-39", "StatusId": 1, "TrailCoordinates": [{ "CreatedBy":" GIS_DB " "CreatedDate":" 3/8/2012
10:44:00
AM», "Id": 1637, "широта": +32,76004207, "Долгота": - +97,34006853, "ModifiedBy": "", "ModifiedDate": "", "SortOrder": 1, "TrailId": 39}, { "CreatedBy": "GIS_DB", "CreatedDate": "3/8/2012
10:44:00
AM», "Id": 1638, "широта": +32,76004333, "Долгота": - +97,34012121, "ModifiedBy": "", "ModifiedDate": "", "SortOrder": 2, "TrailId": 39}]} , { "CreatedBy": "GIS_DB", "CreatedDate": "3/8/2012
10:44:00
AM " "Id": 40, "ModifiedBy": "", "ModifiedDate": "", "Имя": "CF-40", "StatusId": 1, "TrailCoordinates": [{ "CreatedBy":" GIS_DB " "CreatedDate":" 3/8/2012
10:44:00
AM», "Id": 3755, "широта": +32,76034332, "Долгота": - 97,3402069, "ModifiedBy": "", "ModifiedDate": "", "SortOrder": 1, "TrailId": 40}, { "CreatedBy": "GIS_DB", "CreatedDate": "3/8/2012
10:44:00
АМ», "Идентификатор": 3756, "широта": +32,76019181, "долгота": - 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);