J'ai 2 classes, LatLong
qui contient 2 chaînes, latitude and longitude
, et LatLongs
qui détient un list<LatLong>
.C# JSON ne pas analyser correctement en utilisant Newtownsoft.Json
public class LatLongs
{
public List<LatLong> latlongs { get; set; }
}
public class LatLong
{
public string latitude { get; set; }
public string longitude { get; set; }
}
Je suis en train d'utiliser la fonction Newtownsoft.Json
JsonConvert.DeserializeObject
pour convertir ma chaîne JSON dans une liste de LatLong
. Voici mon JSON
[
{
"latitude":"-34.978113",
"longitude":"138.516192"
},
{
"latitude":"-34.978104",
"longitude":"138.516648"
},
{
"latitude":"-34.978384",
"longitude":"138.516660"
},
{
"latitude":"-34.978398",
"longitude":"138.516225"
}
]
Cette JSON est valide et a été vérifié here
Lorsque je tente d'utiliser JsonConvert.DeserializeObject
Je reçois une exception
peut désérialiser le tableau JSON en cours (par exemple [ 1,2,3]) dans le type 'SafeAgSystems.Models.LatLongs' car le type nécessite un objet JSON (par exemple {"name": "value"}) pour désérialiser correctement.
Voici le code que je utilise pour tenter de convertir le JSON en une liste de LatLong
List<Locations> coords = await locationTable.Where(u => u.fk_company_id == viewModel.UserData.fk_company_id).ToListAsync();
List<LatLongs> latLongs = new List<LatLongs>();
for (int i = 0; i < coords.Count(); i++)
{
LatLongs latlongs = new LatLongs();
latlongs = JsonConvert.DeserializeObject<LatLongs>(coords[i].geofence_coordinates);
latLongs.Add(latlongs);
}
Une autre chose que j'ai vérifié est que mon List<Locations> coords
est en cours de remplissage, ce qui est est sans aucun doute. Je suis complètement coincé, qu'est-ce qui me manque?
Merci Ivan, vous êtes un magicien! –