Je reçois une réponse API JSON tierce via Javascript, que j'ajoute au serveur. Ici j'essaye de convertir ceci en objet. J'ai vu un exemple simple de ceci en ligne en utilisant une classe personnalisée, mais le problème dans mon cas est que le nombre de champs peut changer. Dans un cas, ils peuvent être juste: UserName: Blah, Age: Blah ... Dans un autre cas, il peut être: UserName: Blah, Age: Blah, jeu préféré: Blah.Désérialise une chaîne JSON avec un nombre variable d'éléments
Quelle est la meilleure solution ici?
Merci pour toute contribution. PS: j'essaie ce code ci-dessous, mais j'obtiens une erreur: les amis ne sont pas pris en charge pour la désérialisation d'un tableau.
public class Friends
{
public IList<IDictionary<string,string>>data {get;set;}
}
protected void UpdateTrigger_Click(object sender, EventArgs e)
{
Friends fbFriends = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<Friends>(Hidden1.Value);
}
Si les champs ne sont pas définis à l'avance, pourquoi le convertir en un objet fortement typé, puisque vous ne connaîtrez pas les noms des membres? –
Les champs seront connus à l'avance, mais ils varieront. – RealityDysfunction
Alors pourquoi ne pas avoir une grande classe qui contient tous les membres possibles, et toujours désérialiser en sur objet de ce type? Les propriétés manquantes seront simplement nulles. –