2017-02-16 6 views
2

Ich erhalte Fehler auf einem Bildschirm, wenn es versucht, etwas json zu eval, es hat mir den Fehler unerwartete Kennung geben ..JSON Escaping doppelte Anführungszeichen nicht funktioniert

Die Daten das Problem verursacht und wie es kommt zurück, wenn ich überprüfen die Json Antwort ist:

"ItemDescription": "STANDARD \" B \ "RED BOX",

ich den Code unten in der Java unter Verwendung der doppelten Anführungszeichen zu handhaben:

itemDescription = itemDescription.replaceAll("\\r|\\n", ""); 
itemDescription = itemDescription.replaceAll("\"", "\\\\\""); 
itemDescription = itemDescription.replaceAll("'", "'"); 

Irgendeine Idee, warum das nicht funktionieren würde? Wenn ich die Anführungszeichen entferne, bekomme ich keine Fehler mehr.

Artikel Beschreibungen wie "ItemDescription": "STANDARD 16 \" RED BOX“gehen durch feine ..

Dank

+0

Was verwenden Sie, um den Json auszuwerten? Verwenden Sie 'eval()'? Oder 'JSON.parse()'? –

+0

eval() Ich benutze – kageoni

+0

Es ist nur das erste doppelte Zitat aus irgendeinem Grund zu entkommen, Blick auf den Fehler .. – kageoni

Antwort

2

Sie benötigen zwei weitere Schrägstriche in Zeile 2:

itemDescription = itemDescription.replaceAll("\"", "\\\\\\\""). 

Damit " durch \\\" ersetzt und nicht \\"

0

Try StringEscapeUtils zu verwenden.

itemDescription = StringEscapeUtils.escapeJson(itemDescription); 
Verwandte Themen