假设我通过
从服务器传回了这个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'
答案 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的原因