2016-05-31 64 views
0

我有一个字符串从我的对象属性的服务器返回:(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) 

我有这样的错误:

​​

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

我试过$ parseJSON和我得到了同样的错误。

+0

因为JSON不是JavaScript的同义词。你的字符串只是不是JSON。 –

+1

[JSON和JavaScript对象之间有什么区别?](http://stackoverflow.com/questions/3975859/what-are-the-differences-between-json-and-javascript-object) –

回答

3

JSON中,对象键是类型“字符串”,因此需要引用。你的钥匙没有报价。

您的网络浏览器足以容许未加引号的字符串。

+0

此外,对象键*必须使用双引号 – lud1977

+0

4来回答引用,表明JavaScript/JSON语法是浏览器好意的问题。 ;-P –

+0

阿尔瓦罗:我不知道你在做什么。如果您认为得分太低或太高,请投票。如果你不认为我的回答很好,请写一个更好的答案。 – You

相关问题