2016-05-31 3 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" 
     } 
    }" 

私ができます

01:私はこのエラーを持っている

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

しかしJSON.parseのdosen't作業

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では、オブジェクトキーは「文字列」タイプなので、引用符で囲む必要があります。あなたの鍵は引用符で囲まれていません。

お使いのWebブラウザは、引用符で囲まれていない文字列を許可するのに十分親切です。

+0

さらに、 JavaScript/JSON構文がブラウザの親切さの問題であることを示唆する答えのために、ダブルクォートを使用してオブジェクトキー*を引用する必要がありますか? – lud1977

+0

;-P –

+0

Alvaro:あなたが何を得ているのか分からない。スコアが低すぎると思うなら、投票してください。私の答えがとても良いと思わないなら、より良いものを書いてください。 – You

関連する問題