Iphone json值不是以串行顺序出现的
JSON格式 响应字符串中的数据顺序与通过[JSONvalue]在NSMutableDictionary中解析时的数据顺序不同?Iphone json值不是以串行顺序出现的,iphone,json,Iphone,Json,JSON格式 响应字符串中的数据顺序与通过[JSONvalue]在NSMutableDictionary中解析时的数据顺序不同? 我希望响应字符串和响应字典的顺序应该相同。字典不是根据键排序的,这样做可能会很麻烦。 我通常用以下方法解决: NSMutableDictionary *dataDict = [[NSDictionary dictionaryWithContentsOfFile:finalPath] retain]; NSArray *sortedKeys = [[[statesDic
我希望响应字符串和响应字典的顺序应该相同。字典不是根据键排序的,这样做可能会很麻烦。 我通常用以下方法解决:
NSMutableDictionary *dataDict = [[NSDictionary dictionaryWithContentsOfFile:finalPath] retain];
NSArray *sortedKeys = [[[statesDictionary allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)] retain];
使用
sortedKeys
访问dataDict以获得正确的数据。NSDictionary中的元素顺序在每个定义中都是未定义的,因此您无法迭代元素并期望它们以特定的顺序
最简单的方法是将钥匙放在一个单独的NSArray中。请参阅答案以获得更健壮的解决方案