0

我有一个网络服务,它返回这样的 json 数据..

{"d":"{\"RES\":[],\"STAT\":\"FAIL\",\"SID\":\"0\"}"}

我怎样才能从中读取 STAT=FAIL。我用 C# 编写了服务。

我的脚本是

$.ajax({
    type: "POST",
    url: "http://localhost/EMRDMSService/Service.asmx/User_Login",
    data: "{lg:" + JSON.stringify(GetLogDet) + "}",
    // url: "http://localhost/EMRDMSService/Service.asmx/Permission_List",
    // data: "{userid:" + JSON.stringify(GetLogDet) + "}",

    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (r) {          
        console.log(r.d.STAT);
    }
});

但是 rdSTAT 是undefined? 有人可以帮我吗?

4

1 回答 1

3

正如一些评论中所说,{"d":"{\"RES\":[],\"STAT\":\"FAIL\",\"SID\":\"0\"}"}JSON 不正确。但是,如果您无法更新网络服务,您可以在success回调中尝试:

var d = JSON.parse(r.d);
console.log(d.STAT);

响应 OP 编辑​​的 EDIT r.d.STAT将是未定义的,因为d它被解释为字符串,而不是对象。这就是为什么您必须解析它或更新网络服务以删除d.

于 2013-04-15T16:50:57.210 回答