既然你不指定反序列化強類型的目標類型(而不是object
等),JavaScriptSerializer
將返回Dictionary<string, object>
,你就會有訪問它,如下所示:
string jsonString = "{'id':'54','name':'reza'}";
JavaScriptSerializer j = new JavaScriptSerializer();
dynamic data = j.Deserialize(jsonString, typeof(object));
string id = data["id"]; // equals 54
然而,您最好定義自己的自定義類型以訪問反序列化的數據。例如:
public class Person
{
public string id { get; set; }
public string name { get; set; }
}
string jsonString = "{'id':'54','name':'reza'}";
JavaScriptSerializer j = new JavaScriptSerializer();
Person person = j.Deserialize<Person>(jsonString);
string id = person.id; // equals 54
+1值得注意的是,該字符串不*包含有效的JSON。它確實包含有效的JavaScript,但我認爲序列化程序很樂於與之合作。 –
@Behzad Razzaqi,小心解釋你爲什麼不接受?它不再有效嗎? – haim770