2017-06-16 3 views
0

Ich bin mit dem Parser von jQuery ein Problem haben, wenn ich ihm einen JSON-String wie diese (Java) geben:jQuery und JSON Ausgabe

String JSONvalue = "[{"evaluationId":92688,"ResponseId":378501,"comment":"I can't do this [email protected]#$%^&*()_+|}{\":?><\/.,;'[]\\=-0987654321`","rankingId":0}]"; 

und wenn ich es an den Parser (Javascript) übergeben, es sieht wie folgt aus:

var prevCommentsAndRankings = jQuery.parseJSON('[{"evaluationId":92688,"ResponseId":378501,"comment":"I can't do this [email protected]#$%^&*()_+|}{\":?><\/.,;'[]\\=-0987654321`","rankingId":0}]'); 

ich bin Fehler von ungültigen Token bekommen, ist dies wegen der "" und [] auf der JSON-String Wie könnte ich mit ihnen umgehen, der Ansicht, dass die JSON immer können besondere haben. Zeichen innerhalb. Danke im Voraus!

+0

Sie nicht entkommen die Zeichen, die in den Zeichenfolgen maskiert werden müssen –

+1

Erstellen Sie die JSON nicht selbst. Verwenden Sie 'JSONArray' und' JSONObject' – Andreas

+0

Dies ist die korrekt maskierte Zeichenfolge für den 'JS'-Teil:' '[{"evaluationId": 92688, "ResponseId": 378501, "comment": "Ich kann das nicht tun ~! @ # $%^& *() _ + |} {\\ ":?><\ /.,; \ '[] \ = - 0987654321 \' "," rankingId ": 0}]' ' –

Antwort

0

Nur für die willkürlichen Zeichenfolgen ersetzen Sie das Zitat mit seiner HTML-Entität &quot;, BEVOR es in JSON gerendert wird und direkt nachdem Sie den JSON analysiert haben. Beide sind gemeinsame Funktion, die Sie in Java und Javascript finden können.