2012-01-04 19 views
18

मैं एंड्रॉइड में शुरुआतकर्ता हूं। मेरे प्रोजेक्ट में, मुझे HTTP प्रतिक्रिया से निम्नलिखित जेसन मिल रहा है।जेसन ऑब्जेक्ट से स्ट्रिंग वैल्यू प्राप्त करना

[{"Date":"2012-1-4T00:00:00","keywords":null,"NeededString":"this is the sample string I am needed for my project","others":"not needed"}] 

मैं उपरोक्त जेसन से "NeededString" प्राप्त करना चाहता हूं। इसे कैसे प्राप्त करें।

+0

https://androidbeasts.wordpress.com/2015/08/04/json-parsing-tutorial/ – Aakash

उत्तर

48

यह आपकी मदद कर सकता है।

JSONArray arr = new JSONArray(result); 
JSONObject jObj = arr.getJSONObject(0); 
String date = jObj.getString("NeededString"); 
+2

त्वरित करने के लिए धन्यवाद जवाब दे दो। मैं समझ गया। बहुत बहुत धन्यवाद। – Dray

+0

प्रतिक्रिया भेजने के लिए सर्वर पक्ष पर PHP कोड क्या है? –

+0

यहां मेरा जेसन प्रारूप है और मुझे नीचे दिए गए जेसन स्ट्रिंग मिल रही हैं। लेकिन मैं विशेष मूल्य प्राप्त करना चाहता हूं, इसे कैसे प्राप्त करें? {"लॉगिन": [{"स्थिति": "त्रुटि"}]} –

3

अपनी परियोजना में org.json.jsonobject शामिल करें।

फिर आप यह कर सकते हैं:

JSONObject jresponse = new JSONObject(responseString); 
responseString = jresponse.getString("NeededString"); 

मानते हुए, responseString प्रतिक्रिया आपको प्राप्त रखती है।

आप को पता है कि कैसे एक स्ट्रिंग को प्राप्त प्रतिक्रिया बदलने की आवश्यकता है, यहाँ इसे कैसे करना बताया गया है:

ByteArrayOutputStream out = new ByteArrayOutputStream(); 
response.getEntity().writeTo(out); 
out.close(); 
String responseString = out.toString(); 
+0

त्वरित उत्तर के लिए धन्यवाद। – Dray

8

तुम बस JSONArray हो और यद्यपि एक पाश का उपयोग कर JSONObject सरणी के अंदर पुनरावृति करने की जरूरत है आपके मामले में केवल एक JSONObject लेकिन आपके पास और भी हो सकता है।

JSONArray mArray; 
     try { 
      mArray = new JSONArray(responseString); 
      for (int i = 0; i < mArray.length(); i++) { 
        JSONObject mJsonObject = mArray.getJSONObject(i); 
        Log.d("OutPut", mJsonObject.getString("NeededString")); 
       } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
+0

त्वरित उत्तर के लिए धन्यवाद। – Dray

+0

प्रतिक्रिया भेजने के लिए सर्वर पक्ष पर PHP कोड क्या है? (उस कुंजी के साथ "NeededString") –

1

आप JSONObject पुस्तकालय का उपयोग कर सकते हैं, तो आप कर सकते थे बस

JSONArray ja = new JSONArray("[{\"Date\":\"2012-1-4T00:00:00\",\"keywords\":null,\"NeededString\":\"this is the sample string I am needed for my project\",\"others\":\"not needed\"}]"); 
    String result = ja.getJSONObject(0).getString("NeededString"); 
+0

त्वरित उत्तर के लिए धन्यवाद ... – Dray

0

मैं तुम्हें करने के लिए अपने मददगार लगता है

   JSONArray jre = objJson.getJSONArray("Result"); 

       for (int j = 0; j < your array NAme.length(); j++) { 
        JSONObject jobject = your array NAme.getJSONObject(j); 

        String date = jobject.getString("Date"); 
        String keywords=jobject.getString("keywords"); 
        String needed=jobject.getString("NeededString"); 

       } 
0

यहाँ समाधान मैं मेरे के लिए इस्तेमाल किया प्राप्त करने में कठिनाई के लिए काम करता है है स्ट्रिंग से JSON

protected String getJSONFromString(String stringJSONArray) throws JSONException { 
     return new StringBuffer(
       new JSONArray(stringJSONArray).getJSONObject(0).getString("cartype")) 
        .append(" ") 
        .append(
       new JSONArray(employeeID).getJSONObject(0).getString("model")) 
       .toString(); 
    } 
2

आप उपयोग कर सकते हैं getString

String name = jsonObject.getString("name"); 
// it will throws exception if the key you specify doesn't exist 

या optString

String name = jsonObject.optString("name"); 
// it will returns the empty string ("") if the key you specify doesn't exist 
संबंधित मुद्दे