我不是 C# 程序员,但有时会玩弄这种语言。我想知道,如果我有一个我想使用 JavaScriptSerializer.DeserializeObject 反序列化的 JSON 字符串,我怎么能那样。例如,如果我有一个 JSON:
{
"Name": "col_name2",
"Value": [
{
"From": 100,
"To": 200
},
{
"From": 100,
"To": 200
}
]
}
我在一个名为 sJson
的变量中有那个 JSON 字符串:
using System.Web.Script.Serialization;
...
JavaScriptSerializer jss = new JavaScriptSerializer();
Object json = jss.DeserializeObject(sJson);
现在我该如何使用这个 Object json
变量?
注意:我已经知道如何使用 System.Web.Script.Serialization.Deserialize<T>
来做到这一点方法。
最佳答案
查看此帖子以获取 Davids 的答案:
Deserialize json object into dynamic object using Json.net
你可以把它变成动态的(底层类型是JObject) 然后您可以像这样访问信息:
JavaScriptSerializer jss = new JavaScriptSerializer();
dynamic json = jss.DeserializeObject(sJson);
Console.WriteLine(json["Name"]); // use as Dictionary
我更愿意创建一个数据传输对象 ( DTO ),将您的 JSON 结构表示为一个 C# 类。
关于C# 使用 JavaScriptSerializer.DeserializeObject 反序列化 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45912964/