2011-05-15 2 views
5

Ceci est une exténuation de cette question:Faire JSON pas échapper avant Slashes

JSON: why are forward slashes escaped?

Alors je comprends pourquoi JSON échappe aux attaquants barres obliques lorsque je crée un JSONArray qui a des chaînes qui contiennent des URL (liens) dans chacun de ses indices. Je voudrais maintenant savoir comment faire JSON n'échapper à ces barres obliques quand je sérialiser une chaîne comme ceci:

[['documentary', 'http://www.google.com/#q=documentary']] 

dans un JSONArray. Je pensais à l'itération à travers les Strings et en supprimant tout cas où il y aurait un backslash, mais je me demandais s'il y avait une manière plus efficace de le faire ou une manière de l'avoir pour que la chaîne ci-dessus ne soit pas automatiquement :

[['documentary', 'http:\/\/www.google.com\/#q=documentary']] 

Merci! Faites-moi savoir si quelque chose n'est pas clair.

+0

Quelle sérialisation JSON utilisez-vous? – Pindatjuh

+3

"JSON" n'effectue aucun échappement - votre bibliothèque JSON le fait, et vous devez nous dire lequel. – skaffman

+0

J'utilise org.json.JSONArray. En outre, j'utilise Java. – Vinay

Répondre

1

Est-ce que json-simple que vous utilisez? Ils ont un problème ouvert pour cela, pas de chance avec une solution à ce jour:

http://code.google.com/p/json-simple/issues/detail?id=8

Je viens piraté leur code source.

+2

Non J'utilise org.json (pour une application Android): http://developer.android.com/reference/org/json/package-summary.html – Vinay

+0

Puisqu'il n'y a vraiment pas d'autre solution à ce problème jusqu'à ce qu'ils modifient le code source eux-mêmes, cette réponse est la plus appropriée. – Vinay

Questions connexes