2016-05-31 62 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

相關問題