JSONKit:如何保持JSON字典键的顺序

我有一些JSONstring,表示从服务器的地图(字典)。

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

我正在使用JSONKit,它似乎使用哈希函数来将键插入到它的内部JKDictionary ….

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

您可以select将order属性添加到您的字典。 并使用该属性对您的密钥进行sorting。 然后,您可以使用sorting的键枚举字典。 enumerateKeysAndObjectsUsingBlock:

 // 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]; } 

字典没有sorting,但数组是,所以如果你可以改变你的JSON数据结构为一个数组,你应该得到一个有序的结果。

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

你的数据是什么样的?