2

我有一个 jQuery 函数 - 这是它得到的响应

   {"d":"{\"res\":\"\\u003cdiv class=\\\"accordian_head\\\"\\u003e\\u003cdiv class=\\\"plus\\\"\\u003e\\u003c/div\\u00..........."NewTags\":\"\\........

当响应只是 {"d":" response..." } 我在 jQuery 中使用 msg.d 阅读它没有问题 - 但在这里我有 "res" : "text" 嵌套在 "d" 中,那么如何我从这个响应中读取 res 吗?我试过了

      success: function (msg) {
                    var obj = unescape(msg.d);
                    var res = unescape(obj.res);
                    var newtags = unescape(obj.NewTags);

我粘贴的示例 JSON 是 msg

4

3 回答 3

2

怎么样:

$.parseJSON(msg.d)

这将取消引号并将字符串解析为 JSON。

于 2012-06-18T14:43:03.277 回答
1

当你得到d它时,它会返回一个字符串。您需要一个对象才能访问它的res属性。尝试这个:

success: function (msg) {
                    var obj = eval(unescape(msg.d));
                    var res = unescape(obj.res);
                    var newtags = unescape(obj.NewTags);

根据 unescape 的作用,您可能只想尝试eval(msg.d)

如果 eval 不起作用,请尝试jQuery.parseJSON

于 2012-06-18T14:43:12.953 回答
0

您必须运行 msg.d 到$.parseJSON().

如果您可以调整服务器脚本以将其作为嵌套 JSON 返回,那就更好了。

于 2012-06-18T14:44:18.507 回答