JavaScriptSerializerを使用できます:
var json = @"{""user_id"":""121"",""Q1"":""question 1"",""Q2"":""question 2"",""Q3"":""question 3""}";
var serializer = new JavaScriptSerializer();
dynamic result = serializer.DeserializeObject(json);
Console.WriteLine(result["Q1"]);
Console.WriteLine(result["Q2"]);
...
dynamic
また、4.0より古いバージョンの.NETを使用していて、この機能を使用できない場合は、次のようにすることができます。
var json = @"{""user_id"":""121"",""Q1"":""question 1"",""Q2"":""question 2"",""Q3"":""question 3""}";
var serializer = new JavaScriptSerializer();
var result = (IDictionary<string, object>)serializer.DeserializeObject(json);
Console.WriteLine(result["Q1"]);
Console.WriteLine(result["Q2"]);
...
ただし、これは非常に貧弱なJSON設計であることを指摘しておきます。このクラスを設計した人は、おそらくjavascript配列を認識していませんでした。
{
"user_id": "121",
"questions": [
{
"key": "Q1",
"value": "question 1"
},
{
"key": "Q2",
"value": "question 2"
},
{
"key": "Q3",
"value": "question 3"
}
]
}
これは、質問のコレクションを含む強く型付けされたオブジェクトにシリアル化できるようになりました。