将字符串转换为 JSON 数组

4
我收到了一个Ajax请求的响应。Javascript将其解释为字符串。(当我用alert显示this.responseText时,整个字符串都会显示)
如何将它转换为Javascript对象(JSON)?
{"response": {
   "success": "The activity has been removed",
   "message": "0"

  }
}

我没有使用jQuery。


请查看https://dev59.com/fHVD5IYBdhLWcg3wO5AD。 - Detect
使用原型或本地JavaScript? - Detect
可能的原因是“http状态”代码。通过IE中的F12或FF中的Firebug检查http状态代码,以查看是否为200(= OK)。 - Tohid
3个回答

16
如果你使用jQuery,JSON.parse(this.responseString);jQuery.parseJSON(this.responseString); 应该会起作用。

3

这不是世界上最安全的事情,但你可以这样做:

var value = null, txt = this.responseText;
eval("value = (" + txt + ")");

可能更安全的做法是:

var value = null, txt = this.responseText;
!function(window) { eval("value = (" + txt + ")"); }();

但仍然存在各种潜在的黑客攻击。使用库更为安全可靠。


目标用户是黑莓设备。大多数库与旧版BB不兼容或无法正常工作。我正在尝试使用XUI,但还没有弄清楚它的JSON功能。 - robert

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接