Comment déserealiser la structure Hashtable non définie et imbriquée avec json.net? par exemple: @ "{" a ": {" b ": 1}}"
Hashtable data = JsonConvert.DeserializeObject<Hashtable>(json_str)
résultats Newtonsoft.Json.Linq.JObject at data ["a"], à la place Table de hachage
Réponses:
0 pour la réponse № 1Si la structure du JSON n'est pas connue à l'avanceJSON ne contient aucune métadonnée de type pour aider Json.Net à comprendre, alors Json.Net n'a d'autre choix que d'utiliser JTokens (JObject, JProperty, JArray, JValue, etc.) pour désérialiser les choses. C'est comme ça que ça fonctionne.
Si vous préférez travailler avec Hashtables, vous devriezêtre possible de convertir le graphe d'objets JToken en une structure Hashtable imbriquée après la désérialisation, mais je ne suis pas sûr que vous gagnerez beaucoup en faisant cela. Vous feriez mieux d'apprendre à lire les données directement à partir des JTokens. de toute façon.)