2010-11-29 24 views
5

मैं एंड्रॉइड के लिए httpget अनुरोध लिख रहा हूं जो पास के ईवेंट के लिए चौकोर एपीआई से पूछताछ करता है। JSON responce मुझे वापस प्राप्त होता हैएंड्रॉइड में JSON प्रतिक्रिया पार्सिंग

{"groups": [ 
{ 
    "type": "Nearby", 
    "venues": [ 
    { 
     "id": 2587838, 
     "name": "Marriott Druids Glen Hotel Newtownmountkennedy", 
     "primarycategory": { 
     "id": 79281, 
     "fullpathname": "Travel:Resort", 
     "nodename": "Resort", 
     "iconurl": "http://foursquare.com/img/categories/travel/resort.png" 
     }, 
     "address": "Newtownmountkennedy", 
     "city": "Newtownmountkennedy", 
     "state": "", 
     "verified": false, 
     "geolat": 53.091717, 
     "geolong": -6.079162, 
     "stats": { 
     "herenow": "0" 
     }, 
     "distance": 5596 
    }, 

इनमें से कई स्थान हो सकते हैं। मैं इसे इस कोड

InputStream instream = entity.getContent(); 
String result= convertStreamToString(instream); 
Log.i("Hoosheer0",result); 

// A Simple JSONObject Creation 
JSONObject json=new JSONObject(result); 
JSONArray venues = json.getJSONArray("groups"); 
//JSONArray docsArray = jObject.getJSONArray("docs"); 
for (int i = 0; i<venues.length();i++){ 
    String name = venues.getJSONObject(i).optString("venues"); 
    //String venueName = name. 
    Log.i("This is a name... pleasse", name); 
} 

instream.close(); 

मैं geolat & geolong मूल्यों कैसे उपयोग कर सकते हैं का उपयोग कर स्थानों जानकारी बाहर मुद्रित करने के लिए मिल सकता है?

उत्तर

12

मैं अंदर इस कोड को रखने के लिए लगता है कि आपके लूप चाल करना चाहिए: क्योंकि यह स्थल के अंदर है

JSONObject venueObject = venues.getJSONObject(i); 
double geoLat = venueObject.getDouble("geolat"); 
double geoLong = venueObject.getDouble("geolong"); 
+0

इस रिटर्न एक त्रुटि "geolat के लिए कोई मूल्य" यह है? – Stina

+0

@ क्रिस्टीना: उम, हाँ '" जिओलाट "' * * एक स्थल के अंदर है (आपके उदाहरण के अनुसार)। यही कारण है कि मैं अपने कोड में पहले एक 'JSONObject' एक स्थल का प्रतिनिधित्व करता हूं (' JSONArray स्थानों 'से), और फिर' स्थल ऑब्जेक्ट 'से अक्षांश और देशांतर प्राप्त करें। सुनिश्चित करें कि वर्तनी सही है, और यदि आवश्यक हो तो 'स्थल ऑब्जेक्ट' के मानों की जांच करने के लिए डीबगर में कोड के माध्यम से भी कदम उठाएं। – Nailuj

+0

बस ध्यान दिया कि {समूहों के आसपास कॉपी नहीं किया गया था। मुझे लगता है कि यही कारण है कि यह मुझे geolat तक पहुंचने की अनुमति नहीं देगा ?? मैंने अब क्यू संपादित किया है। मदद के लिए धन्यवाद – Stina

0

आप here की जाँच करें और उन मूल्यों पर प्राप्त करने के लिए उपयोग करने के लिए एक JSON पुस्तकालय चुन सकते हैं।

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