サーチ…


構文

  • (id)JSONObjectWithData:(NSData *)データオプション:(NSJSONReadingOptions)optエラー:( NSError * _Nullable *)エラー

パラメーター

オペレーター説明
データ JSONデータを含むデータオブジェクト
オプト JSONデータを読み込み、Foundationオブジェクトを作成するためのオプション。
エラーエラーが発生した場合、戻り時に問題を記述するNSErrorオブジェクトが含まれます。

備考

iOS 5.0以降ではNSJSONSerializationが利用可能JSONに変換できるオブジェクトには、次のプロパティが必要です。

  • トップレベルのオブジェクトは、NSArrayまたはNSDictionaryです。

  • すべてのオブジェクトは、NSString、NSNumber、NSArray、NSDictionary、またはNSNullのインスタンスです。

  • すべての辞書キーはNSStringのインスタンスです。

  • 数値はNaNまたは無限大ではありません。

NSJSONSerializationを使用したJSON構文解析の目的c

NSError *e = nil;
NSString *jsonString = @"[{\"id\": \"1\", \"name\":\"sam\"}]";
NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];

NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: data options:  NSJSONReadingMutableContainers error: &e];

if (!jsonArray) {
    NSLog(@"Error parsing JSON: %@", e);
} else {
    for(NSDictionary *item in jsonArray) {
        NSLog(@"Item: %@", item);
    }
}

出力:

Item: {
    id = 1;
    name = sam;
}

例2:urlの内容を使用する:

//Parsing:

NSData *data = [NSData dataWithContentsOfURL:@“URL HERE”];
NSError *error;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSLog(@“json :%@”,json);

サンプルレスポンス:

json: {
    MESSAGE = “Test Message";
    RESPONSE =(
                {
            email = "[email protected]";
            id = 15;
            phone = 1234567890;
            name = Staffy;
        }
    );
    STATUS = SUCCESS;
}


 NSMutableDictionary *response = [[[json valueForKey:@"RESPONSE"] objectAtIndex:0]mutableCopy];
 NSString *nameStr = [response valueForKey:@"name"];
 NSString *emailIdStr = [response valueForKey:@"email"];


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow