JSONObject的names()方法返回不一致的结果

时间:2016-02-28 14:07:46

标签: java android arrays json

我尝试使用JSONObject方法(在此示例中为DD.MM.yyyy日期)获取names()的高级分支,然后将此结果存储为运行标准for循环然后将其发送到ViewPager适配器之后的ArrayList,因此必须对此ArrayList进行排序。

但问题是它没有按旧版Android安排。

这是我的setDayList和getDayList方法:

public static ArrayList<String> getDayList() {
    if (mGunListesi == null) {
        setDayList();
    }
    return mGunListesi;
}

private static void setDayList() {
    // getAylikListeJson() returns main JSONObject
    JSONArray array = getAylikListeJson().names();
    ArrayList<String> arrayList = new ArrayList<>();

    for (int i = 0; i < array.length(); i++) {
        String date = null;
        try {
            date = array.getString(i);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        if (dayAvailable(date)) {
            arrayList.add(date);
        }
    }
    mGunListesi = arrayList;
}

Android 4.4上的getDayList()。toString()的结果:

D/List: JSON dates: [26.02.2016, 15.02.2016, 02.02.2016, 11.02.2016, 04.02.2016, 02.03.2016, 01.03.2016, 01.02.2016, 05.02.2016, 08.02.2016, 23.02.2016, 18.02.2016, 29.02.2016, 10.02.2016, 24.02.2016, 03.03.2016, 16.02.2016, 04.03.2016, 22.02.2016, 09.02.2016, 17.02.2016, 19.02.2016, 03.02.2016, 25.02.2016, 12.02.2016]

Android 6.0上的getDayList()。toString()的结果:

D/List: JSON dates: [01.02.2016, 02.02.2016, 03.02.2016, 04.02.2016, 05.02.2016, 08.02.2016, 09.02.2016, 10.02.2016, 11.02.2016, 12.02.2016, 15.02.2016, 16.02.2016, 17.02.2016, 18.02.2016, 19.02.2016, 22.02.2016, 23.02.2016, 24.02.2016, 25.02.2016, 26.02.2016, 29.02.2016, 01.03.2016, 02.03.2016, 03.03.2016, 04.03.2016]

和JSON文件:

&#13;
&#13;
{
    "01.02.2016": {
        "yemek1": {
            "id": 7,
            "ad": "Etli Taze Fasulye",
            "kalori": 262,
            "gorsel": "/yemekler/etlitazefasulye.png"
        },
        "yemek2": {
            "id": 17,
            "ad": "Şehriyeli Bulgur Pilavı",
            "kalori": 352,
            "gorsel": "/yemekler/sehriyelibulgurpilavi.png"
        },
        "yemek3": {
            "id": 26,
            "ad": "Cacık",
            "kalori": 97,
            "gorsel": "/yemekler/cacik.png"
        },
        "yemek4": {
            "id": 144,
            "ad": "Meyve (Elma)",
            "kalori": 142,
            "gorsel": "/yemekler/meyveelma1.png"
        },
        "yemek5": {
            "id": 193,
            "ad": "Fırın Bamya",
            "kalori": 77,
            "gorsel": "/yemekler/bamya.png"
        },
        "durum": 1,
        "gun": 1
    },
    "02.02.2016": {
        "yemek1": {
            "id": 73,
            "ad": "Peynirli Börek",
            "kalori": 362,
            "gorsel": "/yemekler/borek.png"
        },
        "yemek2": {
            "id": 163,
            "ad": "Tavuk Çorbası",
            "kalori": 1,
            "gorsel": "/yemekler/resimyok.png"
        },
        "yemek3": {
            "id": 11,
            "ad": "Ayran",
            "kalori": 60,
            "gorsel": "/yemekler/ayran.png"
        },
        "yemek4": {
            "id": 63,
            "ad": "Meyve (Armut)",
            "kalori": 128,
            "gorsel": "/yemekler/meyvearmut.png"
        },
        "yemek5": {
            "id": 245,
            "ad": "Türlü (Etsiz)",
            "kalori": 108,
            "gorsel": "/yemekler/etsizturlu.png"
        },
        "durum": 1,
        "gun": 1
    },
    "03.02.2016": {
        "yemek1": {
            "id": 25,
            "ad": "Soslu Fırın Tavuk",
            "kalori": 535,
            "gorsel": "/yemekler/soslufirintavuk.png"
        },
        "yemek2": {
            "id": 20,
            "ad": "Mercimek Çorba",
            "kalori": 244,
            "gorsel": "/yemekler/mahlutacorba.png"
        },
        "yemek3": {
            "id": 222,
            "ad": "Yoğurtlu Revani",
            "kalori": 595,
            "gorsel": "/yemekler/revani.png"
        },
        "yemek4": {
            "id": 275,
            "ad": "Marul Salata",
            "kalori": 93,
            "gorsel": "/yemekler/mevsimsalata.png"
        },
        "yemek5": {
            "id": 37,
            "ad": "Zeytinyağlı Barbunya",
            "kalori": 371,
            "gorsel": "/yemekler/barbunya.png"
        },
        "durum": 1,
        "gun": 1
    },
    "04.02.2016": {
        "yemek1": {
            "id": 1,
            "ad": "Terbiyeli Köfte",
            "kalori": 295,
            "gorsel": "/yemekler/terbiyelikofte.png"
        },
        "yemek2": {
            "id": 9,
            "ad": "Soslu Makarna",
            "kalori": 304,
            "gorsel": "/yemekler/soslumakarna.png"
        },
        "yemek3": {
            "id": 10,
            "ad": "Yoğurt",
            "kalori": 118,
            "gorsel": "/yemekler/yogurt.png"
        },
        "yemek4": {
            "id": 13,
            "ad": "Havuç Salata",
            "kalori": 105,
            "gorsel": "/yemekler/salata.png"
        },
        "yemek5": {
            "id": 87,
            "ad": "Fırın Bezelye (Etsiz)",
            "kalori": 190,
            "gorsel": "/yemekler/firinbezelye.png"
        },
        "durum": 1,
        "gun": 1
    },
    "05.02.2016": {
        "yemek1": {
            "id": 49,
            "ad": "Etli Kuru Fasulye",
            "kalori": 340,
            "gorsel": "/yemekler/etlikurufasulye.png"
        },
        "yemek2": {
            "id": 2,
            "ad": "Şehriyeli Pirinç Pilavı",
            "kalori": 367,
            "gorsel": "/yemekler/sehriyelipilav.png"
        },
        "yemek3": {
            "id": 10,
            "ad": "Yoğurt",
            "kalori": 118,
            "gorsel": "/yemekler/yogurt.png"
        },
        "yemek4": {
            "id": 24,
            "ad": "Salatalık Turşusu",
            "kalori": 7,
            "gorsel": "/yemekler/salataliktursusu.png"
        },
        "yemek5": {
            "id": 147,
            "ad": "Patlıcan Güveç(Etsiz)",
            "kalori": 292,
            "gorsel": "/yemekler/patlicanguvec.png"
        },
        "durum": 1,
        "gun": 1
    },
    "08.02.2016": {
        "yemek1": {
            "id": 143,
            "ad": "Kıymalı Bezelye",
            "kalori": 390,
            "gorsel": "/yemekler/kiymalibezelye.png"
        },
        "yemek2": {
            "id": 17,
            "ad": "Şehriyeli Bulgur Pilavı",
            "kalori": 352,
            "gorsel": "/yemekler/sehriyelibulgurpilavi.png"
        },
        "yemek3": {
            "id": 10,
            "ad": "Yoğurt",
            "kalori": 118,
            "gorsel": "/yemekler/yogurt.png"
        },
        "yemek4": {
            "id": 144,
            "ad": "Meyve (Elma)",
            "kalori": 142,
            "gorsel": "/yemekler/meyveelma1.png"
        },
        "yemek5": {
            "id": 37,
            "ad": "Zeytinyağlı Barbunya",
            "kalori": 371,
            "gorsel": "/yemekler/barbunya.png"
        },
        "durum": 1,
        "gun": 1
    },
    "09.02.2016": {
        "yemek1": {
            "id": 117,
            "ad": "Mantarlı Çoban Kavurma",
            "kalori": 278,
            "gorsel": "/yemekler/mantarlicobankavurma.png"
        },
        "yemek2": {
            "id": 2,
            "ad": "Şehriyeli Pirinç Pilavı",
            "kalori": 367,
            "gorsel": "/yemekler/sehriyelipilav.png"
        },
        "yemek3": {
            "id": 154,
            "ad": "Sütlü İrmik Tatlısı",
            "kalori": 309,
            "gorsel": "/yemekler/sutluirmiktatlisi.png"
        },
        "yemek4": {
            "id": 29,
            "ad": "Marul Salata(1)",
            "kalori": 93,
            "gorsel": "/yemekler/marulsalata.png"
        },
        "yemek5": {
            "id": 266,
            "ad": "Sulu Patates(Etsiz)",
            "kalori": 444,
            "gorsel": "/yemekler/sulupatates.png"
        },
        "durum": 1,
        "gun": 1
    },
    "10.02.2016": {
        "yemek1": {
            "id": 41,
            "ad": "Sini Köfte",
            "kalori": 460,
            "gorsel": "/yemekler/sinikofte.png"
        },
        "yemek2": {
            "id": 32,
            "ad": "Nohutlu Bulgur Pilavı",
            "kalori": 362,
            "gorsel": "/yemekler/nohutlubulgurpilavi.png"
        },
        "yemek3": {
            "id": 10,
            "ad": "Yoğurt",
            "kalori": 118,
            "gorsel": "/yemekler/yogurt.png"
        },
        "yemek4": {
            "id": 145,
            "ad": "Meyve (Muz)",
            "kalori": 90,
            "gorsel": "/yemekler/muz.png"
        },
        "yemek5": {
            "id": 190,
            "ad": "Ispanak Kavurma",
            "kalori": 42,
            "gorsel": "/yemekler/ispanakkavurma.png"
        },
        "durum": 1,
        "gun": 1
    },
    "11.02.2016": {
        "yemek1": {
            "id": 179,
            "ad": "Sebzeli Tavuk Tava",
            "kalori": 610,
            "gorsel": "/yemekler/sebzelitavuktava.png"
        },
        "yemek2": {
            "id": 2,
            "ad": "Şehriyeli Pirinç Pilavı",
            "kalori": 367,
            "gorsel": "/yemekler/sehriyelipilav.png"
        },
        "yemek3": {
            "id": 11,
            "ad": "Ayran",
            "kalori": 60,
            "gorsel": "/yemekler/ayran.png"
        },
        "yemek4": {
            "id": 13,
            "ad": "Havuç Salata",
            "kalori": 105,
            "gorsel": "/yemekler/salata.png"
        },
        "yemek5": {
            "id": 282,
            "ad": "Patlıcan Musakka(Etsiz)",
            "kalori": 292,
            "gorsel": "/yemekler/patlicanmusakkaetsiz.png"
        },
        "durum": 1,
        "gun": 1
    },
    "12.02.2016": {
        "yemek1": {
            "id": 5,
            "ad": "Soslu Dalyan Köfte",
            "kalori": 246,
            "gorsel": "/yemekler/sosludalyankofte.png"
        },
        "yemek2": {
            "id": 19,
            "ad": "Şehriye Çorba",
            "kalori": 126,
            "gorsel": "/yemekler/sehriyecorba.png"
        },
        "yemek3": {
            "id": 24,
            "ad": "Salatalık Turşusu",
            "kalori": 7,
            "gorsel": "/yemekler/salataliktursusu.png"
        },
        "yemek4": {
            "id": 234,
            "ad": "Üzüm Hoşafı",
            "kalori": 328,
            "gorsel": "/yemekler/hosaf.png"
        },
        "yemek5": {
            "id": 146,
            "ad": "Karnabahar Kızartma",
            "kalori": 184,
            "gorsel": "/yemekler/karnabahar.png"
        },
        "durum": 1,
        "gun": 1
    },
    "15.02.2016": {
        "yemek1": {
            "id": 77,
            "ad": "Arap Tava",
            "kalori": 234,
            "gorsel": "/yemekler/araptava.png"
        },
        "yemek2": {
            "id": 18,
            "ad": "Peynirli Makarna",
            "kalori": 341,
            "gorsel": "/yemekler/peynirlimakarna.png"
        },
        "yemek3": {
            "id": 155,
            "ad": "Şalgam",
            "kalori": 20,
            "gorsel": "/yemekler/salgam.png"
        },
        "yemek4": {
            "id": 144,
            "ad": "Meyve (Elma)",
            "kalori": 142,
            "gorsel": "/yemekler/meyveelma1.png"
        },
        "yemek5": {
            "id": 245,
            "ad": "Türlü (Etsiz)",
            "kalori": 108,
            "gorsel": "/yemekler/etsizturlu.png"
        },
        "durum": 1,
        "gun": 1
    },
    "16.02.2016": {
        "yemek1": {
            "id": 78,
            "ad": "Buhara Kebap",
            "kalori": 459,
            "gorsel": "/yemekler/buharakebap.png"
        },
        "yemek2": {
            "id": 17,
            "ad": "Şehriyeli Bulgur Pilavı",
            "kalori": 352,
            "gorsel": "/yemekler/sehriyelibulgurpilavi.png"
        },
        "yemek3": {
            "id": 10,
            "ad": "Yoğurt",
            "kalori": 118,
            "gorsel": "/yemekler/yogurt.png"
        },
        "yemek4": {
            "id": 24,
            "ad": "Salatalık Turşusu",
            "kalori": 7,
            "gorsel": "/yemekler/salataliktursusu.png"
        },
        "yemek5": {
            "id": 3,
            "ad": "Zeytinyağlı Taze Fasülye",
            "kalori": 153,
            "gorsel": "/yemekler/zeytinyaglifasulye.png"
        },
        "durum": 1,
        "gun": 1
    },
    "17.02.2016": {
        "yemek1": {
            "id": 235,
            "ad": "Çıtır Tavuk-Par.Patates",
            "kalori": 250,
            "gorsel": "/yemekler/citirtavukparmakpatates.png"
        },
        "yemek2": {
            "id": 273,
            "ad": "Domates Çorba(1)",
            "kalori": 245,
            "gorsel": "/yemekler/domatescorba.png"
        },
        "yemek3": {
            "id": 13,
            "ad": "Havuç Salata",
            "kalori": 105,
            "gorsel": "/yemekler/salata.png"
        },
        "yemek4": {
            "id": 222,
            "ad": "Yoğurtlu Revani",
            "kalori": 595,
            "gorsel": "/yemekler/revani.png"
        },
        "yemek5": {
            "id": 188,
            "ad": "Zeytinyağlı Pırasa",
            "kalori": 114,
            "gorsel": "/yemekler/zeytinyaglipirasa.png"
        },
        "durum": 1,
        "gun": 1
    },
    "18.02.2016": {
        "yemek1": {
            "id": 88,
            "ad": "Etli Patates(Sulu)",
            "kalori": 379,
            "gorsel": "/yemekler/etlipatates.png"
        },
        "yemek2": {
            "id": 17,
            "ad": "Şehriyeli Bulgur Pilavı",
            "kalori": 352,
            "gorsel": "/yemekler/sehriyelibulgurpilavi.png"
        },
        "yemek3": {
            "id": 10,
            "ad": "Yoğurt",
            "kalori": 118,
            "gorsel": "/yemekler/yogurt.png"
        },
        "yemek4": {
            "id": 267,
            "ad": "Meyve(Armut-Deveci)",
            "kalori": 128,
            "gorsel": "/yemekler/armut.png"
        },
        "yemek5": {
            "id": 87,
            "ad": "Fırın Bezelye (Etsiz)",
            "kalori": 190,
            "gorsel": "/yemekler/firinbezelye.png"
        },
        "durum": 1,
        "gun": 1
    },
    "19.02.2016": {
        "yemek1": {
            "id": 22,
            "ad": "Etli Nohut",
            "kalori": 373,
            "gorsel": "/yemekler/etlinohut.png"
        },
        "yemek2": {
            "id": 2,
            "ad": "Şehriyeli Pirinç Pilavı",
            "kalori": 367,
            "gorsel": "/yemekler/sehriyelipilav.png"
        },
        "yemek3": {
            "id": 10,
            "ad": "Yoğurt",
            "kalori": 118,
            "gorsel": "/yemekler/yogurt.png"
        },
        "yemek4": {
            "id": 144,
            "ad": "Meyve (Elma)",
            "kalori": 142,
            "gorsel": "/yemekler/meyveelma1.png"
        },
        "yemek5": {
            "id": 70,
            "ad": "Patlıcan Kızartma",
            "kalori": 294,
            "gorsel": "/yemekler/patlicankizartma.png"
        },
        "durum": 1,
        "gun": 1
    },
    "22.02.2016": {
        "yemek1": {
            "id": 97,
            "ad": "Hasan Paşa Köfte (Püreli)",
            "kalori": 480,
            "gorsel": "/yemekler/hasanpasakofte.png"
        },
        "yemek2": {
            "id": 9,
            "ad": "Soslu Makarna",
            "kalori": 304,
            "gorsel": "/yemekler/soslumakarna.png"
        },
        "yemek3": {
            "id": 11,
            "ad": "Ayran",
            "kalori": 60,
            "gorsel": "/yemekler/ayran.png"
        },
        "yemek4": {
            "id": 267,
            "ad": "Meyve(Armut-Deveci)",
            "kalori": 128,
            "gorsel": "/yemekler/armut.png"
        },
        "yemek5": {
            "id": 193,
            "ad": "Fırın Bamya",
            "kalori": 77,
            "gorsel": "/yemekler/bamya.png"
        },
        "durum": 1,
        "gun": 1
    },
    "23.02.2016": {
        "yemek1": {
            "id": 205,
            "ad": "Barbunya",
            "kalori": 371,
            "gorsel": "/yemekler/barbunya.png"
        },
        "yemek2": {
            "id": 36,
            "ad": "Etli Pirinç Pilavı",
            "kalori": 312,
            "gorsel": "/yemekler/etlipilav.png"
        },
        "yemek3": {
            "id": 10,
            "ad": "Yoğurt",
            "kalori": 118,
            "gorsel": "/yemekler/yogurt.png"
        },
        "yemek4": {
            "id": 13,
            "ad": "Havuç Salata",
            "kalori": 105,
            "gorsel": "/yemekler/salata.png"
        },
        "yemek5": {
            "id": 246,
            "ad": "Kabak Kızartma",
            "kalori": 1,
            "gorsel": "/yemekler/kabakkizartma.png"
        },
        "durum": 1,
        "gun": 1
    },
    "24.02.2016": {
        "yemek1": {
            "id": 49,
            "ad": "Etli Kuru Fasulye",
            "kalori": 340,
            "gorsel": "/yemekler/etlikurufasulye.png"
        },
        "yemek2": {
            "id": 17,
            "ad": "Şehriyeli Bulgur Pilavı",
            "kalori": 352,
            "gorsel": "/yemekler/sehriyelibulgurpilavi.png"
        },
        "yemek3": {
            "id": 10,
            "ad": "Yoğurt",
            "kalori": 118,
            "gorsel": "/yemekler/yogurt.png"
        },
        "yemek4": {
            "id": 64,
            "ad": "Türlü Turşu",
            "kalori": 10,
            "gorsel": "/yemekler/turlutursu.png"
        },
        "yemek5": {
            "id": 134,
            "ad": "Yüzük Mantı Çorba",
            "kalori": 148,
            "gorsel": "/yemekler/yuzukmanti.png"
        },
        "durum": 1,
        "gun": 1
    },
    "25.02.2016": {
        "yemek1": {
            "id": 278,
            "ad": "Tavuk Izgara(1)",
            "kalori": 620,
            "gorsel": "/yemekler/tavuk.png"
        },
        "yemek2": {
            "id": 20,
            "ad": "Mercimek Çorba",
            "kalori": 244,
            "gorsel": "/yemekler/mahlutacorba.png"
        },
        "yemek3": {
            "id": 4,
            "ad": "Muhallebi",
            "kalori": 240,
            "gorsel": "/yemekler/Muhallebi.png"
        },
        "yemek4": {
            "id": 13,
            "ad": "Havuç Salata",
            "kalori": 105,
            "gorsel": "/yemekler/salata.png"
        },
        "yemek5": {
            "id": 217,
            "ad": "Patatesli Börek",
            "kalori": 544,
            "gorsel": "/yemekler/borek.png"
        },
        "durum": 1,
        "gun": 1
    },
    "26.02.2016": {
        "yemek1": {
            "id": 40,
            "ad": "Bahçevan Kebap",
            "kalori": 357,
            "gorsel": "/yemekler/bahcevankebap.png"
        },
        "yemek2": {
            "id": 2,
            "ad": "Şehriyeli Pirinç Pilavı",
            "kalori": 367,
            "gorsel": "/yemekler/sehriyelipilav.png"
        },
        "yemek3": {
            "id": 154,
            "ad": "Sütlü İrmik Tatlısı",
            "kalori": 309,
            "gorsel": "/yemekler/sutluirmiktatlisi.png"
        },
        "yemek4": {
            "id": 275,
            "ad": "Marul Salata",
            "kalori": 93,
            "gorsel": "/yemekler/mevsimsalata.png"
        },
        "yemek5": {
            "id": 190,
            "ad": "Ispanak Kavurma",
            "kalori": 42,
            "gorsel": "/yemekler/ispanakkavurma.png"
        },
        "durum": 1,
        "gun": 1
    },
    "29.02.2016": {
        "yemek1": {
            "id": 143,
            "ad": "Kıymalı Bezelye",
            "kalori": 390,
            "gorsel": "/yemekler/kiymalibezelye.png"
        },
        "yemek2": {
            "id": 2,
            "ad": "Şehriyeli Pirinç Pilavı",
            "kalori": 367,
            "gorsel": "/yemekler/sehriyelipilav.png"
        },
        "yemek3": {
            "id": 10,
            "ad": "Yoğurt",
            "kalori": 118,
            "gorsel": "/yemekler/yogurt.png"
        },
        "yemek4": {
            "id": 64,
            "ad": "Türlü Turşu",
            "kalori": 10,
            "gorsel": "/yemekler/turlutursu.png"
        },
        "yemek5": {
            "id": 37,
            "ad": "Zeytinyağlı Barbunya",
            "kalori": 371,
            "gorsel": "/yemekler/barbunya.png"
        },
        "durum": 1,
        "gun": 1
    },
    "01.03.2016": {
        "yemek1": {
            "id": 44,
            "ad": "İçli Köfte",
            "kalori": 700,
            "gorsel": "/yemekler/iclikofte.png"
        },
        "yemek2": {
            "id": 35,
            "ad": "Mahluta Çorba",
            "kalori": 245,
            "gorsel": "/yemekler/mahluta.png"
        },
        "yemek3": {
            "id": 248,
            "ad": "Halka Tatlı",
            "kalori": 642,
            "gorsel": "/yemekler/halkatatli.png"
        },
        "yemek4": {
            "id": 275,
            "ad": "Marul Salata",
            "kalori": 93,
            "gorsel": "/yemekler/mevsimsalata.png"
        },
        "yemek5": {
            "id": 202,
            "ad": "Karışık Kızartma(Soslu)",
            "kalori": 224,
            "gorsel": "/yemekler/karisikkizartma.png"
        },
        "durum": 1,
        "gun": 1
    },
    "02.03.2016": {
        "yemek1": {
            "id": 16,
            "ad": "Çoban Kavurma",
            "kalori": 309,
            "gorsel": "/yemekler/cobankavurma.png"
        },
        "yemek2": {
            "id": 32,
            "ad": "Nohutlu Bulgur Pilavı",
            "kalori": 362,
            "gorsel": "/yemekler/nohutlubulgurpilavi.png"
        },
        "yemek3": {
            "id": 11,
            "ad": "Ayran",
            "kalori": 60,
            "gorsel": "/yemekler/ayran.png"
        },
        "yemek4": {
            "id": 144,
            "ad": "Meyve (Elma)",
            "kalori": 142,
            "gorsel": "/yemekler/meyveelma1.png"
        },
        "yemek5": {
            "id": 132,
            "ad": "Kuru Fasülye(Etsiz)",
            "kalori": 1,
            "gorsel": "/yemekler/kurufasulyeetsiz.png"
        },
        "durum": 1,
        "gun": 1
    },
    "03.03.2016": {
        "yemek1": {
            "id": 41,
            "ad": "Sini Köfte",
            "kalori": 460,
            "gorsel": "/yemekler/sinikofte.png"
        },
        "yemek2": {
            "id": 18,
            "ad": "Peynirli Makarna",
            "kalori": 341,
            "gorsel": "/yemekler/peynirlimakarna.png"
        },
        "yemek3": {
            "id": 155,
            "ad": "Şalgam",
            "kalori": 20,
            "gorsel": "/yemekler/salgam.png"
        },
        "yemek4": {
            "id": 148,
            "ad": "Meyve (Portakal)",
            "kalori": 171,
            "gorsel": "/yemekler/portakal.png"
        },
        "yemek5": {
            "id": 3,
            "ad": "Zeytinyağlı Taze Fasülye",
            "kalori": 153,
            "gorsel": "/yemekler/zeytinyaglifasulye.png"
        },
        "durum": 1,
        "gun": 1
    },
    "04.03.2016": {
        "yemek1": {
            "id": 180,
            "ad": "Tavuk Pane+ Parmak Pat.",
            "kalori": 468,
            "gorsel": "/yemekler/panetavuk.png"
        },
        "yemek2": {
            "id": 229,
            "ad": "Beşamel Soslu Havuç Çorbası",
            "kalori": 190,
            "gorsel": "/yemekler/havuccorbasi.png"
        },
        "yemek3": {
            "id": 29,
            "ad": "Marul Salata(1)",
            "kalori": 93,
            "gorsel": "/yemekler/marulsalata.png"
        },
        "yemek4": {
            "id": 110,
            "ad": "Keşgül",
            "kalori": 381,
            "gorsel": "/yemekler/keskul.png"
        },
        "yemek5": {
            "id": 147,
            "ad": "Patlıcan Güveç(Etsiz)",
            "kalori": 292,
            "gorsel": "/yemekler/patlicanguvec.png"
        },
        "durum": 1,
        "gun": 1
    }
}
&#13;
&#13;
&#13;

所以我错过了什么?为什么Android 6.0会按顺序返回结果,但旧版本会以随机顺序返回?

编辑:感谢wero的精确回复,我通过在setLailyList方法中添加以下代码,在Lollipop前设备上对ArrayList进行排序来解决问题:

        if (Utils.preLollipop()) {
            Collections.sort(arrayList, new Comparator<String>() {
            DateFormat format = new SimpleDateFormat(DateUtils.JSON_DATE_FORMAT); // JSON_DATE_FORMAT = "DD.MM.yyyy"

            @Override
            public int compare(String o1, String o2) {
                try {
                    return format.parse(o1).compareTo(format.parse(o2));
                } catch (ParseException e) {
                    throw new IllegalArgumentException(e);
                }
            }
        });
    }

1 个答案:

答案 0 :(得分:2)

Androids JSONObject在内部使用地图来存储其名称 - 值对。

最初它是java.util.Map,默认情况下使用HashMap初始化,但不保证订单。 Later此内容已更改,JSONObject现在使用订单保留LinkedHashMap

另请注意JSON spec定义:

  

对象是一组无序的名称/值对