Objective-C Language
NSJSONSerialización
Buscar..
Sintaxis
- (id) JSONObjectWithData: (NSData *) opciones de datos: (NSJSONReadingOptions) opt error: (NSError * _Nullable *) error
Parámetros
Operador | Descripción |
---|---|
datos | Un objeto de datos que contiene datos JSON |
optar | Opciones para leer los datos JSON y crear los objetos de Foundation. |
error | Si se produce un error, al regresar contiene un objeto NSError que describe el problema. |
Observaciones
NSJSONSerialization está disponible en iOS 5.0 y versiones posteriores. Un objeto que se puede convertir a JSON debe tener las siguientes propiedades:
El objeto de nivel superior es un NSArray o NSDictionary.
Todos los objetos son instancias de NSString, NSNumber, NSArray, NSDictionary o NSNull.
Todas las claves del diccionario son instancias de NSString.
Los números no son NaN o infinito.
Análisis JSON utilizando 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);
}
}
Salida:
Item: {
id = 1;
name = sam;
}
Ejemplo 2: Uso de contenidos de url:
//Parsing:
NSData *data = [NSData dataWithContentsOfURL:@“URL HERE”];
NSError *error;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSLog(@“json :%@”,json);
Respuesta de muestra:
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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow