Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone json值不是以串行顺序出现的_Iphone_Json - Fatal编程技术网

Iphone json值不是以串行顺序出现的

Iphone json值不是以串行顺序出现的,iphone,json,Iphone,Json,JSON格式 响应字符串中的数据顺序与通过[JSONvalue]在NSMutableDictionary中解析时的数据顺序不同? 我希望响应字符串和响应字典的顺序应该相同。字典不是根据键排序的,这样做可能会很麻烦。 我通常用以下方法解决: NSMutableDictionary *dataDict = [[NSDictionary dictionaryWithContentsOfFile:finalPath] retain]; NSArray *sortedKeys = [[[statesDic

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

字典不是根据键排序的,这样做可能会很麻烦。 我通常用以下方法解决:

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

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

NSDictionary中的元素顺序在每个定义中都是未定义的,因此您无法迭代元素并期望它们以特定的顺序

最简单的方法是将钥匙放在一个单独的NSArray中。请参阅答案以获得更健壮的解决方案