eval()有效,但JSON.parse()和$ .parseJSON()不起作用

时间:2016-05-31 14:28:29

标签: jquery json eval

我的对象属性中有一个从服务器返回的字符串:(R.Message)

    "{
        error:{
            titleName:"||BroadcastableException_Title",
            errorDescriptionName:"||BroadcastableException_Description",
            errorMessageParameters:"",
            message:"\u003cb\u003e\u003ci\u003eBroadcast\u0027s status has been changed \u003c/i\u003e\u003c/b\u003e",
            stackTrace:" XXXX\\XXX.asmx.cs:line 851"
        }
    }"

我可以用

(eval('(' + R.Message + ')')

但JSON.parse不起作用

JSON.parse(R.Message)

我有这个错误:

Uncaught Invalid JSON: {error: {titleName:"||BroadcastableException_Title",errorDescrip .

为什么Eval函数可以从这个字符串创建对象,但JSOn.parse不能?

我尝试了$ parseJSON,但我得到了同样的错误。

1 个答案:

答案 0 :(得分:3)

JSON中,对象键的类型为“string”,因此需要引用。你的钥匙没有引用。

您的网络浏览器足以允许不带引号的字符串。