8
votes

Jax-r coding

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> xxx pré>

au lieu de: p> xxx pré>

J'ai essayé Utilisation: P>

@Produces("application/xml")


1 commentaires

Pouvez-vous modifier votre question pour inclure le code réel de votre méthode JSON?


3 Réponses :


0
votes

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>


0 commentaires

1
votes

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.


0 commentaires

1
votes

Tout ce dont vous avez besoin est ceci:

String back = "Depósitos";
return new String(back.getBytes(), "UTF8");


1 commentaires

Ceci est un code inutile et dangereux. string.getbytes () convertit la chaîne en codage par défaut de la plate-forme. Disons que vous êtes sous Windows, cela pourrait donc par CP1252 . 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 , même si les octets sont CP1252 texte dans cet exemple, qui conduira à des problèmes. En outre: Back 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 en interne, mais cela n'a pas d'importance). Les codages deviennent importants uniquement lorsqu'une chaîne est convertie en octets.