2017-10-13 12 views
0

J'utilise retrofit 2.0 pour obtenir les informations utilisateur du backend, et Gson pour analyser les données json.Pour analyser les données json avec Gson, pourquoi la barre oblique inverse «» est-elle ignorée?

Quelques infos de chemin comme "/some/image/folders/", les données que je recevais est changé pour "\/some\/image\/folders\/", barre oblique inverse est ajouté devant chaque barre oblique. Nous venons de mettre de côté ces changements.

Après avoir reçu cette information de chemin, journal de débogage okhttp montrent la valeur de chaîne est "\/some\/image\/folders\/", mais quand je me connecte le response.body() dans la modernisation, la chaîne est changée en "/some/image/folders/".

Je me demande donc savoir:

  1. Les changements de "\/some\/image\/folders\/" à "/some/image/folders/" est le comportement de Gson ou amélioration de?
  2. Quand ces changements se sont-ils produits?

Merci d'avance!

Répondre

0

Le « \ » est un caractère d'échappement, donc si vous écrivez «/home » lorsque vous imprimez la sortie, vous obtiendrez «/home »

Il semble être un comportement Gson: https://github.com/google/gson/issues/356

+0

«/"n'est pas besoin d'être échappé. – HouZW

+0

Où obtenez-vous cette information de chemin, dans une demande ou dans votre logique (fichier de paramètres ou un contrôleur)? Si vous obtenez à partir d'une demande d'utilisateur pourrait faire partie de la gestion des paramètres de demande. Si vous obtenez de votre logique interne, probablement vous avez quelque chose qui échappe à ce caractère –

+0

L'information de chemin est reçue à partir de backend, la langue de dev de backend est php. Les changements de "/ some/image/folders /" à "\/some \/image \/folders \ /" n'ont pas besoin d'être concernés, la logique de son backend. – HouZW