静的クラス アプローチ
JSON をオブジェクトに変換する一般的な方法を次に示します (必ず を含めてSystem.Web.Script.Serialization
ください)。
public static T JsonToObject<T>(string JsonData)
{
// Deserialize the JSON into the object
JavaScriptSerializer jss = new JavaScriptSerializer();
T rf = (T)jss.Deserialize(JsonData, typeof(T));
return rf;
}
オブジェクトを変換して JSON に戻すには、次の一般的な方法を使用します。
public static string ObjectToJson<T>(T rf)
{
// Serialize the object as JSON
StringBuilder sb = new StringBuilder();
JavaScriptSerializer jss = new JavaScriptSerializer();
jss.Serialize(rf, sb);
return sb.ToString();
}
これを使用するには、JSON 応答に一致するクラスを作成し、JsonToObject
メソッドを呼び出すだけです。
JsonObject j = JsonToObject(mystring);
動的アプローチ
より動的なアプローチについては、次のようなものを見てください。
JavaScriptSerializer jss = new JavaScriptSerializer();
var JsonObject = jss.Deserialize<dynamic>(mystring);
これによりJsonObject
動的に が作成され、スタイル アクセサーを使用できるようになりますDictionary
。事前にクラスを作成する必要はありません。したがって、指定された JSON 応答に対して
{ "maps": ["earth": {"colors": ["purple","chartreuse"] }] }
c クラスは動的に作成され、次のようにアクセスできます。
JsonObject.maps["earth"].colors[0] == "purple";
JsonObject.maps["earth"].colors[1] == "chartreuse";