تحليل استجابة JSON في Android
-
29-09-2019 - |
سؤال
أنا أكتب طلب HTTPGET لنظام Android الذي يستفسر عن واجهة برمجة تطبيقات Foursquare للحدث القريب. استعادة 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؟
المحلول
أعتقد أن وضع هذا الرمز داخل الحلقة الخاصة بك يجب أن يقوم بالخدعة:
JSONObject venueObject = venues.getJSONObject(i);
double geoLat = venueObject.getDouble("geolat");
double geoLong = venueObject.getDouble("geolong");
نصائح أخرى
يمكنك التحقق هنا واختر مكتبة JSON لاستخدامها للوصول إلى هذه القيم.
لا تنتمي إلى StackOverflow