J'utilise JAX-RS pour créer un service Web (de repos) qui renvoie des résultats au format JSON.
Tout va bien, sauf le codage. p>
Par exemple, je reçois: p> au lieu de: p> J'ai essayé Utilisation: P> @Produces("application/xml")
3 Réponses :
Jetez un coup d'œil à Réponse de Bryant Luk à la question Comment définir le Charset avec Jax-Rs? "et voir si cela fait le tour. < / p>
J'ai fini par utiliser GSON au lieu de JSON4J d'IBM, qui s'est révélé être beaucoup mieux pour la manipulation de la sérialisation de la classe Java personnalisée. P>
Tout ce dont vous avez besoin est ceci:
String back = "Depósitos"; return new String(back.getBytes(), "UTF8");
Ceci est un code inutile et dangereux. string.getbytes () code> convertit la chaîne en codage par défaut de la plate-forme. Disons que vous êtes sous Windows, cela pourrait donc par
CP1252 code>. Ensuite, vous créez un nouvel objet de chaîne hors de ces octets et indiquez Java Les octets doivent être interprétés comme
utf-8 code>, même si les octets sont
CP1252 code> texte dans cet exemple, qui conduira à des problèmes. En outre:
Back code> est déjà une chaîne, les objets de chaîne Java peuvent être considérés comme un texte sans encodage (ils sont codés avec
utf-16 code> en interne, mais cela n'a pas d'importance). Les codages deviennent importants uniquement lorsqu'une chaîne est convertie en octets.
Pouvez-vous modifier votre question pour inclure le code réel de votre méthode JSON?