2012-10-03 10 views
15

मैं पीडीएफ से टेक्स्ट निकालने और इसे एक जेसन फ़ाइल में लिखने की कोशिश कर रहा हूं। यूनिकोड वर्णों को निकालने के दौरान जेसन सभी & \ u0026 में परिवर्तित हो जाता है। उदाहरण के लिए मेरा वास्तविक स्ट्रिंग &#1588 है। (जो ش का प्रतिनिधित्व करता है)। यह कंसोल इत्यादि के लिए .txt फ़ाइल में सही ढंग से प्रिंट करता है, लेकिन जब मैं इस स्ट्रिंग को जेसन फ़ाइल में प्रिंट करने का प्रयास करता हूं तो यह \u0026#1588; दिखाता है।जेसन कनवर्ट्स और स्ट्रिंग में u0026

मैं जावा का उपयोग कर रहा है, और कोड है

Gson gson = new Gson(); 
String json = gson.toJson(pdfDoc); 

नोट: pdfDoc एक वस्तु, कि इनपुट पीडीएफ दस्तावेज़ के अंदर पात्रों के सभी विवरण (स्थिति, रंग, फ़ॉन्ट .. आदि) शामिल हैं। मैं gson-2.2.1.jar का उपयोग कर रहा हूँ।

उत्तर

30

यह वास्तव में एक वैध (लेकिन आवश्यक नहीं) एन्कोडिंग है। कोई भी चरित्र जेएसओएन में यूनिकोड से बचने और किसी वैध JSON पार्सिंग लाइब्रेरी को उन एस्केपों की व्याख्या करने में सक्षम होने के लिए एन्कोड किया जा सकता है।

& अक्षर हैं जो एन्कोडिंग (stringat json.org की परिभाषा देखें) की जरूरत है का हिस्सा नहीं है, लेकिन वहाँ कुछ JSON पुस्तकालयों कि काफी "आक्रामक" उनके एन्कोडिंग में कर रहे हैं। यह आमतौर पर एक समस्या नहीं है, जब तक कि आप वास्तव में परिणामी JSON को एक अनुरूप JSON पार्सर के साथ संभाल नहीं लेते।

GsonBuilder.disableHtmlEscaping() आपको उस सुविधा को बंद करने में मदद करेगा यदि आपको बिल्कुल आवश्यकता है।

+1

धन्यवाद। इसने काम कर दिया। मैंने कोड को जीसन जीसन = नया जीसनबिल्डर() में बदल दिया। अक्षम एचटीएमएलएस्केपिंग()। बनाएँ(); – Neeraj

संबंधित मुद्दे