我有一些JSON字符串,它代表了服务器映射(字典)。
我需要绘制这个地图,因为它是我的@ iPhone应用程序。
我使用JSONKit,似乎它使用散列函数来插入钥匙到其内部JKDictionary ....
所以,我应该送一个优先号码顺序按键? 还是有一些方法,使JSONKit保留服务器JSON数据的关键字排序?
我有一些JSON字符串,它代表了服务器映射(字典)。
我需要绘制这个地图,因为它是我的@ iPhone应用程序。
我使用JSONKit,似乎它使用散列函数来插入钥匙到其内部JKDictionary ....
所以,我应该送一个优先号码顺序按键? 还是有一些方法,使JSONKit保留服务器JSON数据的关键字排序?
您可以选择一个新增order
属性你的字典。 并使用该财产你的钥匙进行排序。 然后,你可以列举你的词典使用排序键。 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];
}
字典是没有顺序的,但阵列,所以如果你可以改变你的JSON数据结构到一个数组,你应该得到一个有序的结果。
[{'key1':'value1'},{'key2':'value2'},{'key3':'value3'}]
什么是您的数据是什么样子?