के साथ जैक्सन का उपयोग कर JSON सरणी में जावा सूची अब मैं जावा सूची ऑब्जेक्ट को JSON सरणी में परिवर्तित करने और यूटीएफ -8 तारों को बदलने के लिए संघर्ष करने की कोशिश कर रहा हूं। मैंने सभी अनुवर्ती कोशिश की है, लेकिन उनमें से कोई भी काम नहीं करता है।जैक्सन यूटीएफ -8 एन्कोडिंग
सेटिंग्स।
response.setContentType("application/json");
PrintWriter out = response.getWriter();
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
final ObjectMapper mapper = new ObjectMapper();
टेस्ट # 1।
// Using writeValueAsString
String json = ow.writeValueAsString(list2);
टेस्ट # 2।
// Using Bytes
final byte[] data = mapper.writeValueAsBytes(list2);
String json = new String(data, "UTF-8");
टेस्ट # 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");
टेस्ट # 4।
// Using ByteArrayOutputStream
final OutputStream os = new ByteArrayOutputStream();
mapper.writeValue(os, list2);
String json = ((ByteArrayOutputStream) os).toString("UTF-8");
टेस्ट # 5।
// Using writeValueAsString
String json = mapper.writeValueAsString(list2);
टेस्ट # 6।
// Using writeValue
mapper.writeValue(out, list2);
जैसा कि मैंने कहा, उपर्युक्त कार्यों में से कोई भी नहीं। सभी "???" जैसे वर्ण प्रदर्शित करते हैं। मैं आपकी मदद की सराहना करता हूं। मैं ग्राहकों को JSON प्रतिक्रिया भेजने के लिए सर्वलेट का उपयोग कर रहा हूं।
यह समस्या तब होती है जब मैं java.util.List ऑब्जेक्ट लिखता हूं। यदि मैं एकल डेटा ऑब्जेक्ट लिखता हूं, उदा। उदाहरण के नीचे ग्राहक वस्तु, तो कोई नहीं है ??? पात्र, और यूटीएफ -8 निम्नलिखित कोड के साथ काम कर रहा है।
PrintWriter out = response.getWriter();
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
String json = ow.writeValueAsString(customer);
out.print(json);
* क्या है List2 *? * ओउ * क्या है? * बाहर * क्या है? – Torino
टेस्ट # 1 शुद्ध जावा तारों के साथ काम करता है। इसमें कोई एन्कोडिंग शामिल नहीं है। यदि टेस्ट # 1 काम नहीं करता है, तो ??? पात्र पहले से ही * list2 * का हिस्सा हैं या वे बाद के चरण में पेश किए गए हैं जो आपके प्रश्न में नहीं दिखाए गए हैं। कृपया अधिक संदर्भ प्रदान करें। आप किस बिंदु पर ??? वर्ण? – Torino
@ टोरिनो मैं उनको जोड़ना भूल गया। मैंने अपनी मूल पोस्ट अपडेट की है। मुझे बताने के लिए धन्यवाद! – Mingoo