La désérialisation de JSON avec touches dynamiques
Je suis assez nouveau en JSON, et suis actuellement en apprentissage au sujet de la (dé)sérialisation.
Je suis de la récupération d'une chaîne JSON à partir d'une page web et d'essayer de désérialiser un objet. Le problème est, la racine json clé est statique, mais les clés sous-jacentes sont dynamiques et je ne peux pas anticiper pour désérialiser. Voici un mini-exemple de la chaîne :
{"daily":{"1337990400000":443447,"1338076800000":444693,"1338163200000":452282,"1338249600000":462189,"1338336000000":466626}
Pour une autre chaîne JSON dans mon application, j'ai été en utilisant un JavascriptSerializer et anticiper les touches à l'aide de la structure de la classe. Quelle est la meilleure façon d'aller sur la désérialisation de cette chaîne de caractères dans un objet?
comment au sujet de "s'attend" un Dictionnaire<string,string>?
Ce serait super si vous pouviez poster un exemple de ce qu'une réponse 🙂
J'ai édité ton titre. Se reporter à la rubrique "si vous avez des questions comprennent “tags” dans leurs titres?", où le consensus est "non, ils ne devraient pas".
Ce serait super si vous pouviez poster un exemple de ce qu'une réponse 🙂
J'ai édité ton titre. Se reporter à la rubrique "si vous avez des questions comprennent “tags” dans leurs titres?", où le consensus est "non, ils ne devraient pas".
OriginalL'auteur Jason Higgins | 2012-11-22
Vous devez vous connecter pour publier un commentaire.
Sérieusement, pas besoin d'aller en bas de la dynamique de l'itinéraire; utilisation
pour obtenir un dictionnaire, et puis vous pouvez, par exemple,
pour obtenir les clés, le présent et les valeurs correspondantes.
PS. Vous avez oublié la 3ème à Droite > support dans le Dictionnaire de l'appeler!
Merci pour cela.
OriginalL'auteur Rawling
Vous pouvez utiliser
dynamic
.NET 4 ou une version ultérieure. Par exemple avec JSON.NET je peux le faire:Vous pouvez alors:
Cependant, vous ne savez pas comment il va traiter les touches numériques. Bien sûr, vous pouvez simplement utiliser
JObject
directement lui-même, par exemple:Probablement l'aide de la réflexion oui (ne pas être assez). Je préfère de beaucoup l'aide de JObject comme il l'a fondamentalement rétrécir encapsule un dictionnaire de toutes sortes.
OriginalL'auteur Lloyd
Ce n'est pas pratique à utiliser, car dans с# ne peut pas être défini une variable commence par un nombre. Ajouter un préfixe à clés.
Ou essayez ceci:
Vous pouvez alors:
.... Wow n'est pas vraiment sûr de ce que disent ici
j'ai changé mon ansver
J'ai enlevé le downvote
Il n'y a pas de raison de changer le JSON. C# peut être heureux et gérer les clés de dictionnaire commençant par des chiffres.
OriginalL'auteur Boris Gappov