je le JSON suivant:serialise JSON à C objet # en ArrayList d'objets
{
"id": "3cf5373c-9181-4639-89f0-bb64b387f961",
"display": "Data 1",
"country": "AU"
}
et je sais comment construire la classe à sérialiser:
[DataContract]
public class myJSONClass
{
[DataMember(Name = "id")]
public string Id { get; set; }
[DataMember(Name = "display")]
public string Display { get; set; }
[DataMember(Name = "country")]
public string Country { get; set; }
}
et j'utiliser ci-dessous pour sérialisation:
var url = "http://myJSONAPI/";
var syncClient = new WebClient();
var content = syncClient.DownloadString(url);
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(myJSONClass));
using (var ms = new MemoryStream(Encoding.Unicode.GetBytes(content)))
{
var jsonData = (myJSONClass)serializer.ReadObject(ms);
}
Mais comment pourrais-je aller sur la définition de ma classe si mon JSON est comme ci-dessous?
[
{
"id": "3cf5373c-9181-4639-89f0-bb64b387f961",
"display": "My Data 1",
"country": "AU"
},
{
"id": "8886d2c8-0fd5-49ff-a3e1-7cef9e654514",
"display": "no test",
"country": null
}
]
Comment souhaitez-vous déclarer ma classe?
Et comment puis-je le sérialiser? Je ne peux pas utiliser JSON.net car je ne peux pas utiliser un framework .Net plus récent.
merci beaucoup @dmitry, ça marche parfaitement. En plus j'adorerais utiliser NewtonsoftJSON, mais c'est l'un de nos systèmes hérités qui ne peuvent pas aller jusqu'à .Net plus récent. ; ( –