Objective-C Language
NSJSONSerialization
Recherche…
Syntaxe
- (id) Options de données JSONObjectWithData: (NSData *): (NSJSONReadingOptions) erreur d’option: (NSError * _Nullable *) erreur
Paramètres
Opérateur | La description |
---|---|
Les données | Un objet de données contenant des données JSON |
opter | Options pour lire les données JSON et créer les objets Foundation. |
Erreur | Si une erreur survient, contient au retour un objet NSError qui décrit le problème. |
Remarques
NSJSONSerialization est disponible dans iOS 5.0 et versions ultérieures Un objet pouvant être converti en JSON doit avoir les propriétés suivantes:
L'objet de niveau supérieur est un NSArray ou NSDictionary.
Tous les objets sont des instances de NSString, NSNumber, NSArray, NSDictionary ou NSNull.
Toutes les clés de dictionnaire sont des instances de NSString.
Les nombres ne sont pas NaN ou l'infini.
Analyse JSON utilisant NSJSONSerialization Objective 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);
}
}
Sortie:
Item: {
id = 1;
name = sam;
}
Exemple 2: Utilisation du contenu de l'url:
//Parsing:
NSData *data = [NSData dataWithContentsOfURL:@“URL HERE”];
NSError *error;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSLog(@“json :%@”,json);
Exemple de réponse:
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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow