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