निम्नलिखित कोड मैंने विकेट में लागू किया है। यह पूरे JSON डेटा को एक ही लाइन में प्रिंट कर रहा है। असल में इसे JSON प्रारूप में प्रिंट करना चाहिए। मेरी समझ से, समस्या document.getElementById(''demo'').innerHTML={0} के साथ है। अगर मैंने कुछ गलत किया है तो कृपया मेरा कोड सही करें।

और क्यों (''demo'') Html id के प्रारंभ और अंत में दो सिंगल कोट्स की अपेक्षा कर रहा है।

target.appendJavaScript(MessageFormat
                    .format("document.getElementById(''demo'').innerHTML={0}'", mapper.writerWithDefaultPrettyPrinter()
                                    .writeValueAsString(jsonDataProducer())));
1
Krishna 18 सितंबर 2019, 17:11

1 उत्तर

सबसे बढ़िया उत्तर

मुझे मेरे प्रश्न का उत्तर मिल गया।

target.appendJavaScript(MessageFormat
                        .format("document.getElementById(''demo'').innerHTML=JSON.stringify({0},null,2);", jsonDataProducer));

सबसे पहले मैंने निम्नलिखित कोड के साथ सुंदर JSON प्रिंट करने का प्रयास किया। mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonDataProducer().toString()) लेकिन, जावास्क्रिप्ट इसे एक वस्तु के रूप में ले रहा है जब मैं इसे document.getElementById(''demo'').innerHTML को असाइन करता हूं। इसलिए, मैंने JSON.stringify({0},null,2) का इस्तेमाल किया। यह जावास्क्रिप्ट ऑब्जेक्ट को सुंदर JSON प्रारूप में स्ट्रिंग करेगा।

और MessageFormat में सिंगल कोट्स की एक जोड़ी को सिंगल कोट के रूप में माना जाता है। यहां से मुझे MessageFormat सिंगल कोट जानकारी मिली है . हम MessageFormat दस्तावेज़ीकरण भी पढ़ सकते हैं।

1
Krishna 20 सितंबर 2019, 13:15