Je crée un Windows Phone Silver Light 8 app.Newsoft Json désérialiser en produits Collection ne fonctionne pas
J'ai une chaîne JSON et j'essaie de la convertir en une liste d'objets et chaque objet est un objet d'une classe "Produit" et la liste est censée être des produits. finalement je veux le convertir en collection Observable afin que je puisse lier cette collection à ma liste dans mon application de téléphone Windows Silverlight.
Voici ma classe
public class Product
{
public string _id { get; set; }
public string code { get; set; }
public string name { get; set; }
public string imgAddress { get; set; }
public int queryCount { get; set; }
}
Voici le code désérialiser le JSON
var PDS = "{\"products\":[{\"_id\":\"58b2\",\"code\":\"59034\",\"name\":\"somename1\",\"imgAddress\":\"https://someimageurl/.../.jpg\",\"queryCount\":0},{\"_id\":\"58b3\",\"code\":\"59035\",\"name\":\"somename2\",\"imgAddress\":\"https://someimageurl2/.../.jpg\",\"queryCount\":1}]}";
var pds = JsonConvert.DeserializeObject<List<Product>>(PDS);
//PDS is actually very long string and the array products has a lot of objects but I am only writing 2 products here for simplicity.
Voici ma collection pour la liaison
public ObservableCollection<Product> Products { get; set; }
ERREURS >> D'abord, je devenais erreur d'analyse alors je me suis évadé toutes les citations dans la chaîne comme celui-ci \ » ** >> ** Mais il convertissait seulement une chaîne normale comme objet, mais Je veux convertir à une collection de produits de type « produit »
>> Exception
informations complémentaires: ne peut pas désérialiser l'objet JSON en cours (par exemple {"name": "value"}) dans le type "System.Collections.Generic.List`1 [PivotApp1.Product]" car le type requiert un tableau JSON (par exemple [1,2,3]) pour désérialiser correctement. Pour corriger cette erreur, changez le JSON en un tableau JSON (par exemple [1,2,3]) ou changez le type désérialisé pour qu'il soit un type .NET normal (par exemple, pas un type primitif comme un entier, pas un type de collection) comme un tableau ou une liste) qui peut être désérialisé à partir d'un objet JSON. JsonObjectAttribute peut également être ajouté au type pour le forcer à désérialiser à partir d'un objet JSON.
Path 'produits', ligne 1, position 12.
Merci à l'avance
Le code que vous avez fourni ne serait même pas compilé. S'il vous plaît fournir un [mcve]. –