Pouvez-vous désérialiser une chaîne JSON C# array?

Je suis en train de désérialiser la chaîne JSON

[{ "key" : "1", "value" : "open"}, {"key" : "2", "value" : "closed"}, {"key" : "3", "value" : "pending"}]

en C# array. J'obtiens le message d'erreur "Pas de constructeur sans paramètre défini pour le type de Système.Tableau"." Je suis en tirant la JSON à partir d'une base de données, puis j'ai voulu le désérialiser afin que je puisse accéder aux valeurs et à la mise à jour d'un autre champ dans ma base de données avec tout ce que l'utilisateur passé en. C'est juste un exemple que je vais essayer de bien et j'en ai besoin pour être dynamique, pas statique, car la chaîne JSON contenues dans la base de données peut être variable.

J'ai essayé à l'aide d'un dictionnaire plus tôt, mais n'avait pas de chance avec ça. Donc, je suis en train d'essayer une approche différente maintenant par la désérialisation d'un tableau alors que j'allais remplir le dictionnaire de la matrice.

C'est la méthode que je suis en train de mettre en œuvre, pour le moment...même si j'ai essayé plusieurs autres...

 IList<Array> ValueArray = new JavaScriptSerializer().Deserialize<IList<Array>>(this.Parameter.ValueList); 
 //this.Parameter.ValueList just contains my JSON string

Je pense que je ne peux pas le faire sans la création de ma propre classe?

Quand j'ai essayé à l'aide d'un dictionnaire, j'ai essayé ce

Dictionary<string, string> ValueList =
                JsonConvert.DeserializeObject<Dictionary<string, string>>(this.Parameter.ValueList);  

mais a reçu cette erreur

"Ne peut pas désérialiser l'actuel tableau JSON (par exemple, [1,2,3]) dans le type
'Système.Les Collections.Génériques.Dictionnaire`2[Système.Chaîne,Système.Chaîne de]'
parce que le type requiert un objet JSON (par exemple, {"name":"valeur"})
désérialiser correctement. Pour corriger cette erreur soit modifier le JSON pour un
Objet JSON (par exemple, {"name":"valeur"}) ou de modifier le désérialisé type de
un tableau ou un type qui implémente une interface de collecte (p. ex.
ICollection, IList) comme Liste qui peut être désérialisé à partir d'un JSON
tableau. JsonArrayAttribute peuvent également être ajoutés à la type pour le forcer à
désérialiser à partir d'un tableau JSON. Chemin d'accès ", line 1, position 1."

J'ai donc commencé à essayer d'utiliser un tableau à la place.

double possible de Comment puis-je désérialiser JSON d'un simple Dictionnaire<string,string> dans ASP.NET?
En regardant votre JSON, je pense que vous voulez pour désérialiser dans une Liste<Dictionnaire<string, string>> - le dictionnaire ne avoir un constructeur sans paramètre de sorte que vous devriez être en mesure de l'utiliser.
C'est le post j'ai lu lors de la première tentative de ce problème et j'ai essayé le dictionnaire en premier. Je n'ai toujours pas de travail et a suivi l'exemple...Le message d'erreur que j'ai suggéré d'essayer un tableau c'est pour ça que j'ai commencé dans cette voie.
Modifier votre question au lieu de poster des commentaires. Et vous essayez de désérialiser dans le Tableau de Dictionnaires.

OriginalL'auteur | 2012-07-25