2016-05-31 11 views
0

Ich habe eine Zeichenfolge von dem Server in meinem Objekt-Eigenschaft zurückgegeben: (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" 
     } 
    }" 

ich kann verwenden

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

Aber JSON.parse dosen't Arbeit

JSON.parse(R.Message) 

ich diesen Fehler haben:

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

Warum Eval-Funktion kann Objekt aus dieser Zeichenfolge erstellen, aber JSOn.parse kann nicht?

Ich versuchte $ parseJSON und ich habe den gleichen Fehler.

+0

Da JSON kein Synonym für JavaScript ist. Deine Zeichenfolge ist einfach nicht JSON. –

+1

Mögliches Duplikat von [Was sind die Unterschiede zwischen JSON und JavaScript Objekt?] (Http://stackoverflow.com/questions/3975859/what-are-the-differences-between-json-and-javascript-object) –

Antwort

3

In JSON sind Objektschlüssel vom Typ "string" und müssen daher in Anführungszeichen gesetzt werden. Ihre Schlüssel sind nicht aufgeführt.

Ihr Webbrowser ist so freundlich, dass nicht aufgeführte Strings zulässig sind.

+0

Die Objektschlüssel * müssen * mit quotequotes – lud1977

+0

4 Up-Stimmen bisher zitiert werden für eine Antwort, die darauf hindeutet, dass JavaScript/JSON-Syntax eine Frage der Browser-Freundlichkeit ist? ;-P –

+0

Alvaro: Ich kann nicht sagen, worauf du hinaus willst. Wenn Sie der Meinung sind, dass die Punktzahl zu niedrig oder zu hoch ist, stimmen Sie ab. Wenn Sie nicht denken, dass meine Antwort sehr gut ist, schreiben Sie eine bessere. – You

Verwandte Themen