1

生のjson文字列をNSDictionaryに変換しようとしています。しかし、NSDictionaryではjson文字列とは異なる順序のオブジェクトを取得しましたが、NSDictionaryではjson文字列とまったく同じ順序が必要です。以下は、json文字列を変換するために使用したコードです

 SBJSON *objJson = [[SBJSON alloc] init];
 NSError *error = nil;
 NSDictionary *dictResults = [objJson objectWithString:jsonString error:&error];
4

3 に答える 3

0
//parse out the json data
    NSError* error;


NSDictionary* json = [NSJSONSerialization 
        JSONObjectWithData:responseData //1

        options:kNilOptions 
        error:&error];

    NSArray* latestLoans = [json objectForKey:@"loans"]; //2

    NSLog(@"loans: %@", latestLoans); //3

ソース: このリンクに従ってくださいhttp://www.raywenderlich.com/5492/working-with-json-in-ios-5 良いチュートリアルですが、iOS5 でのみ動作します

于 2012-08-08T10:17:17.367 に答える
0

NSDictionary は連想配列であり、要素の順序を保持しません。すべてのキーがわかっている場合は、すべてのキーを正しい順序で保持する配列を作成できます (JSON を追加パラメーターとして渡すこともできます)。例:

NSArray* ordered_keys = [NSArray arrayWithObjects: @"key1", @"key2", @"key3", .., nil];

for(NSString* key is ordered_keys) {
    NSLog(@"%@", [json_dict valueForKey: key]);
}
于 2012-08-08T10:19:05.590 に答える