0

我有一些 JSON 字符串,它代表来自服务器的地图(字典)。

我需要绘制这张地图,因为它是@我的 iPhone 应用程序。

我正在使用 JSONKit,它似乎使用散列函数将键插入其内部 JKDictionary....

那么我应该发送一个优先级号码来订购钥匙吗?或者有什么方法可以让 JSONKit 保留服务器 JSON 数据的键顺序?

4

2 回答 2

1

您可以选择将order属性添加到字典中。并使用该属性对您的密钥进行排序。然后,您可以使用排序键枚举您的字典。枚举KeysAndObjectsUsingBlock:

// Here I suppose you have added another number property `order` for your dictionary's values
NSArray *sortedKeys = [dic keysSortedByValueUsingComparator:^(id obj1, id obj2){
    return [obj1 order] < [obj2 order];
}];

// for in will give your an ordered travel for your sortedKeys
for (id key in sortedKeys) {
    // handle your dic
    [dic objectForKey:key];
}
于 2012-11-25T13:20:39.143 回答
1

字典不是有序的,但数组是有序的,因此如果您可以将 JSON 数据结构更改为数组,您应该会得到有序的结果。

[{'key1':'value1'},{'key2':'value2'},{'key3':'value3'}]

你的数据是什么样的?

于 2012-11-25T14:58:11.800 回答