Estoy tratando de pasar datos a las etiquetas de mi archivo JSON en un simple ViewController, pero no sé dónde pasar realmente esos datos. ¿Podría simplemente agregar a mi método setDataToJson
o agregar los datos en mi método viewDidLoad
?Pasar datos del archivo local utilizando json
aquí es mi código
@interface NSDictionary(JSONCategories)
+(NSDictionary*)dictionaryWithContentsOfJSONString:(NSString*)fileLocation;
@end
@implementation NSDictionary(JSONCategories)
+(NSDictionary*)dictionaryWithContentsOfJSONString:(NSString*)fileLocation{
NSData* data = [NSData dataWithContentsOfFile:fileLocation];
__autoreleasing NSError* error = nil;
id result = [NSJSONSerialization JSONObjectWithData:data
options:kNilOptions error:&error];
if (error != nil) return nil;
return result;
}
@end
@implementation ViewController
@synthesize name;
- (void)viewDidLoad
{
[super viewDidLoad];
}
-(void)setDataToJson{
NSDictionary *infomation = [NSDictionary dictionaryWithContentsOfJSONString:@"Test.json"];
name.text = [infomation objectForKey:@"AnimalName"];//does not pass data
}
Ah esto funciona perfectamente !! Muchas gracias :) – domshyra
¿Cambiaría mi función de notificación si quería obtener información de una matriz de datos en el archivo Json 'self.lat.text = [[infomation valueForKey: @" Location "] valueForKey: @" la latitud "];' esto es lo que tengo y esto es lo que el JSON parece '" Lugar ": [ { "Longitud": 0, "latitud": 0 } ],' y cuando ejecutarlo dice '- [__ NSArrayI isEqualToString:]: selector no reconocido enviado a la instancia' – domshyra
Entonces deberías hacer algo como esto:' self.lat.text = [[[information valueForKey: @ "Location"] objectAtIndex: 0] valueForKey : @ "Latitude"]; ' – Alladinian