如何从JSON对象访问一个名称值对

时间:2011-05-11 13:10:24

标签: c# jquery json

假设我通过

从服务器传回了这个JSON对象
JavascriptSerializer oSer = new JavascriptSerializer();
string sJson = oSer.Serialize(myObject);

我通过ajax调用返回给我的客户端的json是

"{\"IsValid\":false,\"EmployeeId\":null,\"fullName\":\"a\",\"EmailAddress\":\"n/a\",\"PhoneNumber\":\"n/a\"}"

所以在$.parseJSON(result);

之后

是否可以只检索IsValid值而不循环整个对象名/值对?

更新: 似乎当json到达客户端时:在名称值对之间变为=。所以现在我必须弄清楚如何用一个替换=:所以我可以解析并像真正的对象属性表示法一样访问它。

success: function (data)
                    {
                        data.replace("=", ":");
                    }

不起作用。

我也将ajax dataType属性设置为'json'

4 个答案:

答案 0 :(得分:1)

您无需遍历每个字段 - 只需将其作为parseJSON结果的直接属性进行访问。

var obj = $.parseJSON(result);
alert(obj.IsValid);

答案 1 :(得分:1)

var myObj = $.parseJSON(result);
myObj.IsValid

确保结果用引号括起来,单引号为Ok。

答案 2 :(得分:0)

不确定

var obj = jQuery.parseJSON(result);
alert(obj.IsValid);

答案 3 :(得分:0)

我发现了这个问题。在

  $.ajax(
        {
            type: "POST",
            data: "myJson=" + jsonData,
            url: "/myURL",
            success: function (result)
            {
               //some code
            }
         });

我有dataType:'json' 这就是从服务器

转换我正确配置的JSON的原因