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

本文关键字:一个 JSON 对象 访问 | 更新日期: 2023-09-27 17:55:58

假设我有这个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 数据类型属性设置为"json"

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

无论如何,您不必遍历每个字段 - 只需将其作为 parseJSON 结果的直接属性进行访问即可。

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

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

当然:

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

我发现了问题。 在

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

我有数据类型:"json"这就是从服务转换我正确配置的 JSON 的原因