दिलचस्प पोस्ट
लगातार जावा एफएफ़ कार्यकर्ता थ्रेड में UI अपडेट करें जावा के लिए मूल कीवर्ड क्या है? क्या स्क्रिप्ट टैग के अंदर HTML टिप्पणियां एक सर्वोत्तम अभ्यास है? अपनी सामग्री के सटीक मिलान के आधार पर तत्व चुनें कैसे JTable में पंक्ति जोड़ने के लिए? ^, $ Regex में इस प्रतीक का उपयोग कब किया जाए? imagebutton के साथ listview पंक्ति पर क्लिक नहीं कर सकते अंत में हमेशा जावा में निष्पादित करता है? सीएसएस का प्रयोग: पहले और: छद्म तत्वों के बाद इनलाइन सीएसएस के साथ? knockoutjs के साथ jquery ui संवाद एकीकृत पीएसपी और लिनक्स के माध्यम से पीडीओ का उपयोग करके mssql से कनेक्ट करना Java.exe और javaw.exe के बीच अंतर "गिट ने गैर-फास्ट फॉरवर्ड अपडेट्स को अस्वीकार कर दिया" इसका मतलब क्या है? MySQL में बाइनरी डेटा यूआरआई दो स्लेश के साथ शुरू … वे कैसे व्यवहार करते हैं?

आप एक जावा सबलेट से JSON ऑब्जेक्ट कैसे वापस करते हैं

आप जेएसएएन ऑब्जेक्ट को एक जावा सर्वलेट के रूप में कैसे वापस करते हैं

इससे पहले जब एक सर्वलेट के साथ AJAX कर रहा था तो मैंने एक स्ट्रिंग लौटाई है। क्या एक JSON ऑब्जेक्ट प्रकार है जिसका इस्तेमाल करने की आवश्यकता है, या क्या आप बस एक स्ट्रिंग लौटाते हैं जो एक JSON ऑब्जेक्ट जैसे दिखता है

String objectToReturn = "{ key1: 'value1', key2: 'value2' }"; 

वेब के समाधान से एकत्रित समाधान "आप एक जावा सबलेट से JSON ऑब्जेक्ट कैसे वापस करते हैं"

मैं ठीक वही करता हूं जो आप सुझाव देते हैं (एक String लौटें)

आप यह संकेत देने के लिए MIME प्रकार सेट करने पर विचार कर सकते हैं कि आप JSON लौट रहे हैं, हालांकि ( इस अन्य स्टैकवर्फरफ्लो पोस्ट के अनुसार "एप्लिकेशन / जेएसन") है।

प्रतिक्रिया ऑब्जेक्ट के आउटपुट स्ट्रीम में JSON ऑब्जेक्ट लिखें।

आपको निम्न प्रकार की सामग्री प्रकार को भी सेट करना चाहिए, जो बताएगा कि आप क्या लौट रहे हैं:

 response.setContentType("application/json"); // Get the printwriter object from response to write the required json object to the output stream PrintWriter out = response.getWriter(); // Assuming your json object is **jsonObject**, perform the following, it will return your json object out.print(jsonObject); out.flush(); 

सबसे पहले JSON ऑब्जेक्ट को String कनवर्ट करें। तो फिर इसे application/json -8 की सामग्री के प्रकार application/json और चरित्र एन्कोडिंग के साथ प्रतिक्रिया लेखक को लिखें।

यह मानते हुए एक उदाहरण है कि आप एक जावा ऑब्जेक्ट को JSON स्ट्रिंग में कनवर्ट करने के लिए Google Gson का उपयोग कर रहे हैं:

 protected void doXxx(HttpServletRequest request, HttpServletResponse response) { // ... String json = new Gson().toJson(someObject); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(json); } 

बस इतना ही।

यह भी देखें:

  • Servlets और Ajax का उपयोग कैसे करें?
  • सही JSON सामग्री प्रकार क्या है?

आप एक जावा सबलेट से JSON ऑब्जेक्ट कैसे वापस करते हैं

 response.setContentType("application/json"); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); //create Json Object JSONObject json = new JSONObject(); // put some value pairs into the JSON object . json.put("Mobile", 9999988888); json.put("Name", "ManojSarnaik"); // finally output the json string out.print(json.toString()); 

बस आउटपुट स्ट्रीम में एक स्ट्रिंग लिखें आप text/javascript ( संपादन : application/json जाहिरा तौर पर आधिकारिक है) के लिए MIME- प्रकार सेट कर सकते हैं यदि आप सहायक महसूस कर रहे हैं (एक छोटा लेकिन गैरजीरो मौका है कि यह किसी दिन इसे गड़बड़ने से कुछ रखेगा, और यह एक अच्छा अभ्यास है।)

जावा कोडिंग सुविधा के लिए एक JSON ऑब्जेक्ट हो सकता है लेकिन आखिरकार डेटा संरचना को स्ट्रिंग में क्रमबद्ध किया जाएगा। एक उचित MIME प्रकार सेट करना अच्छा होगा

मैं JSON जावा से json.org का सुझाव देता हूं ।

जीएसएन इस के लिए बहुत उपयोगी है आसान भी है यहां मेरा उदाहरण है:

 public class Bean { private String nombre="juan"; private String apellido="machado"; private List<InnerBean> datosCriticos; class InnerBean { private int edad=12; } public Bean() { datosCriticos = new ArrayList<>(); datosCriticos.add(new InnerBean()); } 

}

  Bean bean = new Bean(); Gson gson = new Gson(); String json =gson.toJson(bean); 

out.print (JSON);

{ "Nombre": "जुआन", "apellido": "मचाडो", "datosCriticos": [{ "edad": 12}]}

लोगों को कहना है कि जीएसएन का उपयोग करते समय आपका वार्स खाली हैं, तो यह आपके लिए जेएसएस बनती है। बस

{}

मैंने जैक्सन को जावा ऑब्जेक्ट को JSON स्ट्रिंग में कनवर्ट किया था और निम्न प्रकार से भेजें।

 PrintWriter out = response.getWriter(); ObjectMapper objectMapper= new ObjectMapper(); String jsonString = objectMapper.writeValueAsString(MyObject); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); out.print(jsonString); out.flush(); 

response.setContentType ( "text / json");

// JSON स्ट्रिंग बनाएँ, मैं कुछ फ्रेमवर्क का उपयोग करने का सुझाव देता हूं।

स्ट्रिंग your_string;

out.write (your_string.getBytes ( "UTF-8"));

Google Gson lib का उपयोग करके 4 सरल पंक्तियों में BalusC उत्तर के पास सर्वलेट विधि में इस पंक्ति को जोड़ें:

 User objToSerialize = new User("Bill", "Gates"); ServletOutputStream outputStream = response.getOutputStream(); response.setContentType("application/json;charset=UTF-8"); outputStream.print(new Gson().toJson(objToSerialize)); 

सौभाग्य!