如何使用json.net去实现未定义和嵌套的Hashtable结构

时间:2013-04-08 14:32:01

标签: json.net

如何使用 json.net 来实现未定义和嵌套的Hashtable结构? 例如: @“{”a“:{”b“:1}}”

Hashtable data = JsonConvert.DeserializeObject<Hashtable>(json_str)

在数据[“a”]返回 Newtonsoft.Json.Linq.JObject ,而不是 Hashtable

1 个答案:

答案 0 :(得分:0)

如果JSON的结构未提前知道,并且JSON不包含任何类型元数据来帮助Json.Net解决问题,那么Json.Net别无选择,只能使用JTokens(JObject,JProperty, JArray,JValue等)将事物反序列化。这就是设计工作的方式。

如果您更喜欢使用Hashtables,则应该可以在反序列化后将JToken对象图转换为嵌套的Hashtable结构,但我不确定您是通过这样做获得的。你最好只学习如何直接从JTokens中读取数据。 (无论如何,你必须这样做才能进行转换。)