से संदेश निकाय निकालें ठीक है, मैंने एक दूरस्थ सर्वर से सफलतापूर्वक कनेक्ट किया है और HTTP/1.1 200 OK
प्रतिक्रिया प्राप्त की है और प्रतिक्रिया HttpResponse ऑब्जेक्ट में पैक की गई है। अब मैं इसके जवाब में डेटा कैसे प्राप्त करूं, विशेष रूप से जेएसओएन जो सर्वर से भेजा गया था?HttpResponse
13
A
उत्तर
24
कुछ इस तरह: यहां नकल: How do I parse JSON from a Java HTTPResponse?
HttpResponse response; // some response object
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
String json = reader.readLine();
JSONTokener tokener = new JSONTokener(json);
JSONArray finalResult = new JSONArray(tokener);
4
ठीक है, आप का शरीर getEntity()
पर कॉल करके प्राप्त कर सकते हैं जो HttpEntity
प्रकार का ऑब्जेक्ट देता है। फिर आप InputStream
का उपभोग करना चाहते हैं जो HttpEntity
की विधि से वापस आ गया है। मैं इसे इस तरह करना होगा:
public static String entityToString(HttpEntity entity) {
InputStream is = entity.getContent();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));
StringBuilder str = new StringBuilder();
String line = null;
try {
while ((line = bufferedReader.readLine()) != null) {
str.append(line + "\n");
}
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
try {
is.close();
} catch (IOException e) {
//tough luck...
}
}
return str.toString();
}
0
जब httpclient.execute()
ResponseHandler <String> resonseHandler = new BasicResponseHandler();
String response = httpclient.execute(httpget, resonseHandler);
1
तुम भी उपयोग कर सकते हैं बुला एक BasicResponseHandler का प्रयोग करें EntityUtils
response = cl.execute(p); //cl is http client and p is the post request
if(response.getStatusLine().getStatusCode()==200)
{
try
{
String resp_body = EntityUtils.toString(response.getEntity());
Log.v("resp_body", resp_body.toString());
JSONObject jsobj = new JSONObject(resp_body);
}
catch(Exception e)
{
Log.e("sometag",e.getMessage());
}
}
पीएस: आपको मुख्य थ्रेड के अलावा, एक अलग थ्रेड में ऐसा करना पड़ सकता है, जैसे कि AsyncTask के doInBackground() में या मुख्य थ्रेड अपवाद पर नेटवर्क ऑपरेशन हो सकता है।
संबंधित मुद्दे
- 1. httpResponse
- 2. नेट :: HTTPResponse
- 3. एक Django HttpResponse()
- 4. Android HttpResponse प्रतिक्रिया कोड
- 5. एक एक्सएमएल HttpResponse पार्सिंग
- 6. हो रही HttpResponse
- 7. एंड्रॉइड में HttpResponse
- 8. HttpResponse को फ़ाइल लिखना, ब्राउज़र
- 9. HttpResponse से जेसन प्राप्त करें
- 10. स्ट्रिंग एंड्रॉइड के लिए HttpResponse
- 11. स्ट्रिंग लम्बाई 0 के लिए HttpResponse
- 12. आयात नहीं कर सकते नाम HttpResponse
- 13. django व्यू से HttpResponse लौटने के बाद ट्रिगर फ़ंक्शन
- 14. HttpResponse फ़ाइल नामों में रिक्तियां के लिए अंडरस्कोर प्रतिस्थापन
- 15. Django "दृश्य एक HttpResponse वस्तु वापस नहीं किया था।"
- 16. Android HttpResponse - सामग्री का उपभोग किया गया है
- 17. एंड्रॉइड HttpResponse हमेशा दूसरी बार मर जाता है इसे
- 18. जावा में Android के लिए HttpResponse समाप्ति सेट कैसे
- 19. HTTPResponse/HTTPRequest स्टेटस कोड आईफोन एसडीके पुनर्प्राप्त करें?
- 20. HttpResponse से लौटाए गए संदेश को कैसे मुद्रित करें?
- 21. HttpRequest/HttpResponse मेमोरी लीक? CF.NET 3.5 विन सीई 6,0
- 22. Django "दृश्य एक HttpResponse ऑब्जेक्ट वापस नहीं किया था।"
- 23. एंड्रॉइड समस्या का उपयोग कर HttpResponse: निष्पादन हमेशा अपवाद का कारण बनता है?
- 24. नहीं जावा में cachingHttpClient का उपयोग कर HttpResponse कैश करने के लिए सक्षम?
- 25. django HttpResponse पर फ़ाइल लौटाएं - फ़ाइल सही ढंग से नहीं दी गई है
- 26. क्या टेक्स्ट और जेसन ऑब्जेक्ट के साथ django में एक HttpResponse वापस करना संभव है?
- 27. Django: अंतर क्या है b/w HttpResponse बनाम HttpResponseRedirect बनाम render_to_response
- 28. Django ReportLab: आरेखण ऑब्जेक्ट का उपयोग पीडीएफ बना सकते हैं और HttpResponse
- 29. क्या कोई httpresponse हेडर है जो उपयोगकर्ता को मेरी साइट के किसी पृष्ठ पर रीडायरेक्ट करेगा?
- 30. जावा अपाचे HTTP ग्राहक उपयोग कुकीज़ के उपयोग को दिखा और HttpResponse से प्रतिक्रिया आपत्ति निकालने उदाहरण