json值不按顺序排列

时间:2011-05-03 11:58:04

标签: iphone json

在JSON中 通过[JSONvalue]在NSMutableDictionary中解析时,响应字符串和数据顺序中的数据顺序是否不同? 我希望响应中的顺序字符串和响应字典应该相同。

2 个答案:

答案 0 :(得分:0)

字典不是基于键排序的,这样做可能很麻烦。 我通常按​​照以下方式解决:

NSMutableDictionary *dataDict = [[NSDictionary dictionaryWithContentsOfFile:finalPath] retain];
NSArray *sortedKeys = [[[statesDictionary allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)] retain];

使用sortedKeys访问dataDict以获取正确的数据。

答案 1 :(得分:0)

根据定义,NSDictionary中元素的顺序是未定义的,因此您无法迭代元素并期望它们按特定顺序排列。

简易方法是将密钥保存在单独的NSArray中。有关更强大的解决方案,请参阅this答案。