Java Liste de tableau JSON à l'aide de Jackson avec l'encodage UTF-8

Maintenant, je suis en train de convertir Java des objets de la Liste pour tableau JSON, et de la difficulté à convertir des chaînes UTF-8. J'ai essayé tous les suivants, mais aucun d'entre eux travaille.

Paramètres.

response.setContentType("application/json");

PrintWriter out = response.getWriter();
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
final ObjectMapper mapper = new ObjectMapper();

Test n ° 1.

//Using writeValueAsString
String json = ow.writeValueAsString(list2);

Test n ° 2.

//Using Bytes
final byte[] data = mapper.writeValueAsBytes(list2);
String json = new String(data, "UTF-8");

Test n ° 3.

//Using ByteArrayOutputStream with new String()
final OutputStream os = new ByteArrayOutputStream();
mapper.writeValue(os, list2);
final byte[] data = ((ByteArrayOutputStream) os).toByteArray();
String json = new String(data, "UTF-8");

Test#4.

//Using ByteArrayOutputStream
final OutputStream os = new ByteArrayOutputStream();
mapper.writeValue(os, list2);
String json = ((ByteArrayOutputStream) os).toString("UTF-8");

Test#5.

//Using writeValueAsString
String json = mapper.writeValueAsString(list2);

Test#6.

//Using writeValue
mapper.writeValue(out, list2);

Comme je l'ai dit, aucun des travaux ci-dessus. Tous les affichages de caractères comme "???". Je vous remercie de votre aide. Je suis l'aide de Servlet pour envoyer la réponse JSON pour les clients.

Ce problème se produit uniquement quand j'écris en java.util.Des objets de la liste. Si j'écris seul objet de données, par exemple client de l'objet dans l'exemple ci-dessous, il n'est pas ??? caractères, et l'UTF-8 est de travailler avec le code suivant.

PrintWriter out = response.getWriter();
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
String json = ow.writeValueAsString(customer);
out.print(json);
Qu'est-ce que liste2? Qu'est-ce que ow? Qu'est-ce que ?
Test n ° 1 fonctionne avec Java pur cordes. Il n'y a pas de codage impliqués. Si le Test #1 ne fonctionne pas, alors la ??? les personnages sont déjà partie de liste2 ou qu'ils ne soient introduits à un stade ultérieur pas indiqué dans votre question. Veuillez fournir plus de contexte. À quel point pensez-vous de voir ??? personnages?
J'ai oublié de les ajouter. J'ai mis à jour mon post original. Merci de me le faire savoir!
Concernant l'utilisation des caractères à l'intérieur de la liste 2 de l'objet, je l'ai testé et les personnages sont très bien (???), ce qui signifie caractères sera cassé pendant le JSON processus d'écriture. Si je vous écris juste un seul objet, alors il n'y a pas de problème. Cela se produit uniquement lorsque j'essaie d'écrire en java.util.Liste à l'aide de Jackson.

OriginalL'auteur Mingoo | 2014-05-11