2012-05-01 43 views
0

的內容後更改索引順序比方說,我有一個JSON對象調用的水果,這是它的內容:ArrayList中被複制JSON對象

"fruits":[{ 
    "name":"natural_one", 
    "kind"{ 
     0:"apple", 
     1:"banana", 
     2:"pear" 
    } 
}]; 

當我複製的JSONObject的內容一個新的ArrayList,索引順序如下例所示變化:

"fruits":[{ 
    "kind"{ 
     1:"banana", 
     2:"pear", 
     0:"apple" 
    }, 
    "name":"natural_one" 
}]; 

如何在複製內容時防止更改索引順序?

+3

你的代碼在哪裏? – Akram

+0

沒有任何錯誤.JSONObject不遵循任何嚴格的索引,AFAIK – MKJParekh

+0

@Akki :)無需查看代碼。 – MKJParekh

回答

2

有人可以給我一個例子怎樣一個JSONObject的內容複製而不改變索引順序?

這是不可能的。

JSONObject類將屬性存儲在散列表中,因此無法表示串行JSON表示中屬性的排序。這很好,因爲JSON規範說明屬性的順序並不重要。

這來自JSON的起源,它是關聯數組/對象的Javascript stntax。 Javascript關聯中的條目沒有定義/重要的順序。

3

我不確定這是你的問題,但JSON對象屬性沒有任何內在的順序。

{"a":"b", 
"c":"d"} 

嚴格相當於

{"c":"d", 
"a":"b"} 
+0

是的,確切! :) – Xarialon