-5

API を作成しました。結果は次の形式の json で出力されます。

{"response":"ok","data":[{"file_name":"sample file name one","server_url":"someurl","file_thumb":"images\/7ibysd4f8wiy_t.jpg"},{"file_name":"sample file name two","server_url":"someurl","file_thumb":"images\/jm3t6aat8uhq_t.jpg"}]}

今まで私は次の機能を使用していました:

- (NSArray*) jsonToArray:(NSString *)responseData{

    NSData* data = [responseData dataUsingEncoding:NSUTF8StringEncoding];
    NSArray *values = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];  // if you are expecting  the JSON string to be in form of array else use NSDictionary instead

    return values;

}

そして、次のような配列を取得します。

data_array = [self jsonToArray:data_js];
[data_array valueForKey:@"data"]

dataしかし、どうすれば配列をループできるのでしょうか? 現在の方法でそれは可能ですか?

4

1 に答える 1

0

NSDictionary と NSArray で新しい enumerateObjectsUsingBlock API を使用してみてください。NSJSONSerialization によって返された変数でそれを呼び出すことができます

これは非常にシンプルで、高速な列挙よりも少しクリーンなコードを提供します。

http://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/Classes/NSArray_Class/NSArray.html#//apple_ref/occ/instm/NSArray/enumerateObjectsUsingBlock :

于 2013-08-09T18:40:47.197 に答える