提问者:小点点

读取文件并转换为具有正确类型的字典[重复]


我有一个名为“exampel.txt”的文本文件。它有以下内容。

{"eks": {"hel" : 0,"gain": [0,1,2,3,4,5, "htj"],"a": "bb" }, "slow": {"animals": {"sealion": "muuh", 1 : "blabla",},"eat": {"1": "straw",2: ["food", "insects", "bacon"]}}}

内容从来不是相同的,而是总是在上面提到的结构中。在C#中我怎样才能把它作为字典来读呢?

所以我可以像在python中那样使用它


共1个答案

匿名用户

数据似乎是JSON格式的,你可以反序列化相同的有目录。类似于:

 Dictionary<string, object> values = 
JsonConvert.DeserializeObject<Dictionary<string, object>>(json);

在这里,您的值类型不是固定的,比如它有时是JSONObject/JSONArray/String等,在这种情况下,您应该使用Dictionary。

在StackOverflow中有很多获取值的例子,例如https://StackOverflow.com/a/24381795/1105291。

但是如果您知道文件中的键及其数据类型,我强烈建议您创建并使用new Class而不是Dictionary中的对象。

Nicolas Tyler在https://stackoverflow.com/A/7321505/1105291上给出了更好的解释。