Objective-C Language
NSJSONSerialization
サーチ…
構文
- (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