سؤال

أنا أكتب طلب 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 لاستخدامها للوصول إلى هذه القيم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top