一尘不染

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

json

我有一个简单的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类

阅读 257

收藏
2020-07-27

共1个答案

一尘不染

Json.NET做到了…

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

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

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

2020-07-27