如何将复杂的json反序列化为hashtable + array样式

时间:2018-09-16 02:23:05

标签: c# json.net

这是我的代码:

        string json = "{'047084de7e289476991970194dd14513':{'reload':[]}}";
        var r = JsonConvert.DeserializeObject(json);
        Console.WriteLine($"{r}");

在我的json中,哈希表包含内部哈希表,r["047084de7e289476991970194dd14513"]的结果是jobject,但我希望它是一个哈希表,我该怎么办?

我希望找到一种类似于javascript JSON.parse的方式来获取所有内部键和值都可以访问的对象

我在Linux中使用mono,因此无法使用JavaScriptSerializer

1 个答案:

答案 0 :(得分:0)

我发现JsonConvert.DeserializeObject返回JObject或JArray就像Hashtable和Array,所以如果解析结果是jobject,我可以将结果转换为JObject

        string json = "{'047084de7e289476991970194dd14513':{'reload':[]}}";
        var r = (JObject) JsonConvert.DeserializeObject(json);
        Console.WriteLine($"{r["047084de7e289476991970194dd14513"]}");