javascript - Json数据提取

标签 javascript json

我有一个网络服务,它返回这样的 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);
    }
});

但是 r.d.STAT 是未定义? 有人可以帮我解决这个问题吗?

最佳答案

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

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

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

关于javascript - Json数据提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16020491/

相关文章:

python - 如何在Python中从json api获取特定数据

javascript - 我可以为具有已知元素数量的映射/集预分配内存吗?

javascript - 单击按钮时如何创建带有文本字段的表单

java - 有没有办法将任意数据结构与 GSON 解析器相关联?

arrays - 在 NodeJS 中向数组 mongoose 中插入元素创建对象

javascript - 在 AngularJS 中解析字典

javascript - 在 Angularjs 中从工厂进行调用时传递多个参数

Javascript:向登录 api 发送 ajax 请求——在哪里保存 token ?

javascript - 递归检查树上的条件并在找到时停止

javascript - JSON 解析不解析字符串(JSON 中位置 0 处出现意外标记 D)