2016-09-06 23 views
-4

我想發送這些JSONbject到服務器的登錄和它的工作像android棒棒糖和棉花糖的魅力,但是當我嘗試登錄android kitkat和以下版本,然後由於json命令混淆它提供不正確的用戶名和密碼錯誤。我該如何解決這個問題?爲什麼Json對象順序混淆在android KITKAT和以下版本中?

 JSONObject jsonObject = new JSONObject(); 
      try { 
       jsonObject.put("USERName", username); 
       jsonObject.put("LOGINPASSWORD", password); 
       jsonObject.put("IMEINUMBER1", imeino); 
       jsonObject.put("Latitude", latitude); 
       jsonObject.put("Longitude", longitude); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 

下面是我jsonObject它的mixup在Android的奇巧及以下版本。

{"USERName":"Rahul","Latitude":24.588532515497256,"Longitude":73.7020509167292,"IMEINUMBER1":"911375058484548","LOGINPASSWORD":"12345"} 
+1

json無序!檢查[這裏](http://androiddhina.blogspot.in/2015/09/ordered-json-string-in-android.html) – Piyush

+0

它的工作在Android棒棒糖和棉花糖正確。但對於Android版本以下爲什麼它變得無序? –

+0

你不明白 - 你不能通過標準工作。 'JSON'標準說JSON對象是**無序的一組名/值對**,這意味着讀者不應該依賴JSON字段排序,而是通過'name'訪問值。如果您想保留訂單,請使用JSON數組:**一個數組是一個有零個或多個值的有序序列。** – j2ko

回答

0
一個

JSONObject不保證任何順序其密鑰,有時可能在插入順序,有時不。

如果您需要保持插入順序,請改爲使用JSONArray