0

假设我有一个名为 fruits 的 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"
}];

复制内容时如何防止更改索引顺序?

4

2 回答 2

3

我不确定这是您的问题,但 JSON 对象属性没有任何内在顺序。

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

严格等价于

{"c":"d", 
 "a":"b"}
于 2012-05-01T13:22:27.300 回答
2

有人可以给我一个示例,如何在不更改索引顺序的情况下复制 JSONObject 的内容?

这不可能。

该类JSONObject将属性存储在哈希表中,因此无法以串行 JSON 表示形式表示属性的顺序。没关系,因为 JSON 规范说属性的顺序并不重要。

这来自 JSON 的起源,它是用于关联数组/对象的 Javascript stntax。Javascript 关联中的条目没有定义/重要的顺序。

于 2012-05-01T14:21:40.017 回答