9

私はこのようなJSONをいくつか持っています(辞書からシリアル化します):

{
  "Context":
  {
    "Test": "Test"
  }
}

そして、JSON.NET の JSON to LINQ を使用して、それを辞書に逆シリアル化したいと考えています。

私は何か違うことを試しました:

var obj = JObject.Parse(json);
obj.Value<Dictionary<string, string>>("Context");

しかし、これは次のような例外をスローします:

System.InvalidCastException
Newtonsoft.Json.Linq.JObject を Newtonsoft.Json.Linq.JToken にキャストできません

私も試しました:

var obj = JObject.Parse(json);
var context = obj.Values("Context");

しかし、要素を辞書に処理する方法がわかりません。

4

1 に答える 1

14

これはあなたのために働くはずです:

string json = "{\"Context\":{\"Test\": \"Test\"}}";
var obj = JObject.Parse(json);
var dict = obj["Context"].ToObject<Dictionary<string,string>>();
于 2013-03-04T01:38:21.617 に答える