How can I deserialize JSON to a simple Dictionary<

2018-12-31 02:25发布

I have a simple key/value list in JSON being sent back to ASP.NET via POST. Example:

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

I AM NOT TRYING TO DESERIALIZE INTO STRONGLY-TYPED .NET OBJECTS

I simply need a plain old Dictionary(Of String, String), or some equivalent (hash table, Dictionary(Of String, Object), old-school StringDictionary--hell, a 2-D array of strings would work for me.

I can use anything available in ASP.NET 3.5, as well as the popular Json.NET (which I'm already using for serialization to the client).

Apparently neither of these JSON libraries have this forehead-slapping obvious capability out of the box--they are totally focused on reflection-based deserialization via strong contracts.

Any ideas?

Limitations:

  1. I don't want to implement my own JSON parser
  2. Can't use ASP.NET 4.0 yet
  3. Would prefer to stay away from the older, deprecated ASP.NET class for JSON

19条回答
长期被迫恋爱
2楼-- · 2018-12-31 02:56

Tried to not use any external JSON implementation so i deserialised like this:

string json = "{\"id\":\"13\", \"value\": true}";

var serializer = new JavaScriptSerializer(); //using System.Web.Script.Serialization;

Dictionary<string, string> values = serializer.Deserialize<Dictionary<string, string>>(json);
查看更多
登录 后发表回答