2013-05-08 248 views
-2

我有JSON,我想解析爲JSONObject。 當我這樣做時,它會擾亂json的順序,見下文。 我該如何解決這個問題?解析json到JSONObject原始順序的混亂

原JSON:

{"result": 
    {"headers": 
     { 
     "month_1":"May 2013", 
     "month_2":"April 2013", 
     "month_3":"March 2013", 
     "month_4":"February 2013", 
     "month_5":"January 2013", 
     "month_6":"December 2012", 
     "month_7":"November 2012" 
      } 
    } 
} 

解析到的JSONObject後:

{"result": 
    {"headers": 
     { 
     "month_6":"December 2012", 
     "month_5":"January 2013", 
     "month_4":"February 2013", 
     "month_3":"March 2013", 
     "month_2":"April 2013", 
     "month_1":"May 2013", 
     "month_7":"November 2012" 
     } 
    } 
} 

我的代碼:

private void ProcessResponse(String response) { 
    JSONObject json = new JSONObject(response); 
} 
+1

這是如何影響你的? – SudoRahul 2013-05-08 11:00:26

+0

爲什麼你想修復它?只需使用密鑰獲取數據並完成您的工作。 :) – Harpreet 2013-05-08 11:10:50

回答

0

JSON庫不堅持JSON obects內elemts的順序。欲瞭解更多詳情,請按照JSON.org。但是代碼不應嚴格依賴json object內的元素順序。

0

我能想到的一種方法是,嘗試將JSONObject轉換爲數組列表,然後使用下面的代碼。 我現在所能想到的一切。如何轉換,嘗試在谷歌上搜索這個。

Collections.sort("your arraylist", new Comparator<Item>() { 
      public int compare(Item i1, Item i2) { 
       return i1.getCaption().compareTo(i2.getCaption()); 
      } 
     });