2013-03-03 20 views
8

にLINQを使用して辞書に:デシリアライズJSON私はこの(辞書からシリアライズ)のようないくつかのJSONを持っているJSON

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

と辞書にそれをデシリアライズするためにLINQにJSON.NETのJSONを使用したいと思います。

私が試した、何か別のもの:

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

しかし、これは、このような例外をスロー:
はNewtonsoftにNewtonsoft.Json.Linq.JObjectをキャストすることはできません

System.InvalidCastExceptionの。 Json.Linq.JToken

私も試したことがあります:

しかし、私は要素を辞書にどのように処理するかを理解できません。

答えて

14

これはあなたのために働く必要があります。

string json = "{\"Context\":{\"Test\": \"Test\"}}"; 
var obj = JObject.Parse(json); 
var dict = obj["Context"].ToObject<Dictionary<string,string>>(); 
+2

あなたが私たちの代わりにJTokenにToObject 方法必要があります。 –

+0

あなたは本当に正しいです、私はそれを反映する答えを編集しました。 – JoshVarty

関連する問題