/ / Comment déseréaliser la structure de table de hachage non définie et imbriquée avec json.net - json.net

Comment désérealiser la structure Hashtable indéfinie et imbriquée avec json.net - json.net

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 № 1

Si 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.)