如何反序列化JSON并提取某个值?

时间:2012-04-13 20:32:32

标签: c# json

我在字符串中有我的JSON。如何使用JavascriptSerializer对其进行反序列化并找到SSOID的值?

{
"Addresses":  [
    {
        "Address": "123 Test Road",
        "State": "Mississippi"
    }
],
"Birthdate": "April 12 2012",
"CreateDate": "April 13 2012",
"IDs": [
    {
        "isDefault": false,
        "PurchaseID": "883"
    }
],
"Sex": "Male",
"SSOID": 23444,
"Suffix": null,
"BoardID": 4324
}

3 个答案:

答案 0 :(得分:1)

在这种特殊情况下:

string s = "your json string";   
System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer();
var obj = js.DeserializeObject(s) as Dictionary<string,object>;
int ssoid = (int)obj["SSOID"];

答案 1 :(得分:1)

var js = new JavaScriptSerializer();
var deserialized = (Dictionary<string, object>) js.DeserializeObject(json);
var ssoid = (int) deserialized["SSOID"];

答案 2 :(得分:0)

 var SSOID = new JavaScriptSerializer()
                    .Deserialize<Dictionary<string, object>>(json)["SSOID"];

OR

dynamic jObj = new JavaScriptSerializer().DeserializeObject(json);
var SSOID = jObj["SSOID"];