一尘不染

如何将json转换为NameValueCollection

json

如何将JSON字符串NameValueCollection简单地转换为C#,最好不使用第三方解析器?


阅读 551

收藏
2020-07-27

共1个答案

一尘不染

我不确定为什么每个人仍然推荐JSON.NET来反序列化JSON。我写了一篇有关如何将JSON反序列化为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的引用。

注意: 我通常反序列化为dynamic,所以我假设这NameValueCollection会起作用。但是,我还没有验证它是否确实如此。

2020-07-27