サーバーから JSON ファイルをダウンロードする次のコードがあります。
- (void) queryAPI:(NSString*)query withCompletion:(void (^) (id json))block{
NSURL *URL = [NSURL URLWithString:@"http://myAPI.example/myAPIJSONdata"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request];
op.responseSerializer = [AFJSONResponseSerializer serializer];
[op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
block(responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
block(nil);
}];
[[NSOperationQueue mainQueue] addOperation:op];
}
JSON ファイルは次の例のようになります。
{
"dict":{
"first key": [val1, val2, val3],
"second key": [val1, val2, val3],
"third key": [val1, val2, val3],
"fourth key": [val1, val2, val3]
}
}
JSON ファイルと同じ順序でキーを保持する必要がありますが、返された NSDictionary を で列挙すると[dict allKeys]
、次のようにキーが乱れます。
fourth key
second key
first key
third key
私も使用しようとしまし[dict keyEnumerator]
たが、結果はまったく同じです。
キーを JSON ファイルと同じ順序に保つ方法はありますか?