2010-11-05 4 views
2

J'ai donc un appel de service Web qui me redonne une chaîne JSON. J'ai demandé que la réponse renvoie le contenu en encodage UTF-8. Quand j'inspecte la valeur retournée tout semble bon. C'est quand je crée un nouveau JSONObject et que je passe le texte JSON au constructeur que les choses commencent à poser problème.Problème de codage/décodage de caractères org.json

Spécifiquement: Le service Web renvoie un caractère EM DASH (http://www.fileformat.info/info/unicode/char/2014/index.htm) dans la réponse - "format": "Evénement sur demande Sessions -Tous »

Après la JSONObject reçoit la chaîne convertit ce personnage dans la représentation java de ce caractère - « format »: « on Demand événement \ u2014All Sessions »

J'utilise la bibliothèque org.json pour faire mes offres et envisage de passer à une mise en œuvre différente si nécessaire. Voici ce que j'ai en cours d'exécution du spectacle:

HttpClient client = new HttpClient(); 
GetMethod getDownloads = new GetMethod("http://localhost:8080/ecommerce-ws/service/account/downloads"); 

getDownloads.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8"); 
getDownloads.setRequestHeader("Accept", "application/json"); 

client.executeMethod(getDownloads); 

String httpResponse = getDownloads.getResponseBodyAsString(); 

JSONObject downloadsJSON = new JSONObject(httpResponse); 

Est-il possible que je puisse régler le codage de caractères sur le JSONObject quand il analyse la chaîne? J'ai fait pas mal de recherches et j'ai trouvé très peu d'aide.

Merci d'avance pour votre aide.

Répondre

Questions connexes