如何JSON转换成的NameValueCollection转换成、JSON、NameValueCollection

2023-09-02 01:51:06 作者:不一样的霸气

你怎么能转换的JSON字符串到C#的NameValueCollection 简单,preferably,而无需使用第三方解析器?

How could you convert a string of JSON to a C# NameValueCollection simply, preferably without using a 3rd party parser?

推荐答案

我不知道为什么大家还是建议JSON.NET对JSON的反序列化。我写了如何反序列化JSON到C#中的博客文章

I'm not sure why everyone is still recommending JSON.NET for deserialization of JSON. I wrote a blog post on how to deserialize JSON to C#.

总之,是这样的:

using System.Web.Script.Serialization;

var jss = new JavaScriptSerializer();
var dict = jss.Deserialize<Dictionary<string, string>>(jsonText);

NameValueCollection nvc = null;
if (dict != null) {
  nvc = new NameValueCollection(dict.Count);
  foreach (var k in dict) {
    nvc.Add(k.Key, k.Value);
  }
}
                    }
var json = jss.Serialize(dict);
Console.WriteLine(json);

一定要添加引用System.Web.Extensions.dll。

Be sure to add a reference to System.Web.Extensions.dll.

注意: 我通常反序列化到动态,所以我假设的NameValueCollection 会工作。但是,我没有,如果它实际上做验证。

Note: I usually deserialize to dynamic, so I'm assuming that NameValueCollection would work. However, I haven't verified if it actually does.