如何将 JSON 反序列化为简单的字典在 ASP.NET 中?

问题描述

Json.NET这样做…

string json = @"{""key1"":""value1"",""key2"":""value2""}";

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

更多示例:使用 Json.NET 序列化集合

解决方法

我有一个简单的 JSON 键/值列表,通过 POST 发送回 ASP.NET。例子:

{ "key1": "value1","key2": "value2"}

我不想反序列化为强类型的 .NET 对象

我只需要一个普通的旧 Dictionary(Of String,String) 或一些等价物(哈希表、Dictionary(Of String,
Object)、老式 StringDictionary——地狱,一个二维字符串数组对我有用。

我可以使用 ASP.NET 3.5 中可用的任何东西,以及流行的 Json.NET(我已经在使用它 对客户端进行序列化)。

显然,这些 JSON 库都没有这种开箱即用的明显能力——它们完全专注于通过强合约进行基于反射的反序列化。

有任何想法吗?

限制:

  1. 我不想实现自己的 JSON 解析器
  2. 还不能使用 ASP.NET 4.0
  3. 宁愿远离 JSON 的旧的、已弃用的 ASP.NET 类