访问json对象值

时间:2014-07-06 06:53:36

标签: c# asp.net json

我在asp.net ashx文件中有这个代码:

jsonString="{'id':'54','name':'reza'}";
JavaScriptSerializer j = new JavaScriptSerializer();
var a = j.Deserialize(jsonString, typeof(object));

并获取Json字符串并转换为'a'对象,我如何获得a的值? 例如,我需要将id字段值输入[id,54]?

1 个答案:

答案 0 :(得分:1)

由于您没有为反序列化指定强类型目标类型(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
相关问题