【发布时间】:2020-09-14 16:16:16
【问题描述】:
我有以下代码:
var user = (Dictionary<string, object>)serializer.DeserializeObject(responsecontent);
responsecontent 中的输入是 JSON,但未正确解析为对象。我应该如何正确反序列化它?
【问题讨论】:
-
System.Web.Helpers中有Json,System.ServiceModel.Web中有JsonQueryStringConverter,System.Web.Script.Serialization中有JavascriptSerializer,System.Runtime.Serialization.Json中有DataContractJsonSerializer,哎呀 MS 甚至决定第三方Json.NET在其 ASP.NET Web API 中。如果您认为这还不够,MS 正在提出System.Json,但目前不适合消费。走微软的路……我选择了最好看的命名空间。 -
@fusi 其余的都在单独的程序集中。谷歌命名空间/类名,你会在 msdn 文档中找到它们所在的程序集。只需添加对该程序集的引用即可。
-
刚刚完成,
Windows.Data.Json中还有JsonValue,仅适用于 Windows 8 及更高版本。我喜欢这个。 MS正在执行任务:) -
NewtonSoft 在他们的网站上有一个比较页面(可能有偏见,但仍然很有趣):newtonsoft.com/json/help/html/jsonnetvsdotnetserializers.htm。我特别喜欢无意义的字典序列化行:)
标签: c# json parsing json.net deserialization