2012-12-24 3 views
-6

Tout de vous ... Il pourrait être une question stupide, mais je suis nouveau sur iOS .. J'ai besoin de notre aide .. Je fais JSON parsing..pour obtenir des valeurs. .mon réponse JSON est: -Comment obtenir la valeur entière grâce à json parsing

{ 
     "_id" = 6001256351188711607; 
     "access_level" = private; 
     createdOn = "2012-12-17T07:06:42.09000"; 
     "created_by" = 9514682679942790960941872227340; 
     description = ""; 
     keywords = ""; 
     location =   (
      "12.000023", 
      "77.000012" 
     ); 
     picture = "http://54120127762218290878972982207449539830674.jpg"; 
     "rel_interests" =   (
     ); 
     source = "Bank"; 
     "source_url" = ""; 
     title = ipl; 
    }, 

); 
     "location_description" = ""; 
     picture = "http://54252499650705298384658551818639.jpg"; 
     "rel_interests" =   (
     ); 
     source = ""; 
     "source_url" = ""; 
     title = "Air"; 
    } 

Je reçois le titre en utilisant ce code: -

[titleArray addObject:[[_arrData objectAtIndex:j]valueForKey:@"title"]]; 

mais quand je le fais pour l'emplacement que je reçois exception jetée .... comment je peut obtenir l'emplacement ?? s'il vous plaît aidez-moi à atteindre cet ...

+0

Votre réponse "JSON" n'est pas réellement JSON. Est-ce que 'title = Watch; location = ("12.000000", "77.000000"); 'le résultat de NSLogging un NSDictionary? – tom

+0

Ce JSON doit être 'location = {" 12 "," 77 "}'. Check json.org – Osiris

+0

Aussi, qu'est-ce que '_arrData'? Et quelle est l'exception? Vous devez fournir la trace de la pile d'exceptions. – tom

Répondre

0

Vous pouvez utiliser ci-dessous pour obtenir le code premier objet

[titleArray addObject:[[[[_arrData objectAtIndex:j]valueForKey:@"location"]objectAtIndex:0]intValue]]; 

pour second objet

[titleArray addObject:[[[[_arrData objectAtIndex:j]valueForKey:@"location"]objectAtIndex:1]intValue]]; 

Edité Vous avez un dictionnaire dans lequel vous avez plusieurs objets en tant que tableau .. Dans le premier objet de ce tableau contient un dictionnaire .. Dans ce dictionnaire seulement vous avez un tableau de localisation. pour y accéder, vous devez suivre le code ci-dessous

NSArray *location = [[_arrData objectAtIndex:1] objectForKey:@"location"]; 
double X = [[location objectAtIndex:0] doubleValue]; 
double locY = [[location objectAtIndex:1] doubleValue]; 
+0

nt de travail ... comment nous pouvons ajouter objectatindex à deux endroits..il est possible..je ne 't sais??? – Shivaay

+0

Votre clé de localisation contient un tableau et contient deux objets. Pour obtenir le premier objet, nous pouvons utiliser objectAtIndex 0 et pour obtenir le deuxième objet, nous pouvons utiliser objectAtIndex 1. chose que nous devons utiliser intValue ou floatValue – thavasidurai

+0

tnx fr code, mais montrant la conversion de type incompatible de int à id ... – Shivaay

0
title = Watch; 
location =   (
      "12.000000", 
      "77.000000" 
     ); 

Supposons que c'est yourDataDict dictionany.

[titleArray addObject:[yourDataDict valueForKey:@"title"]; 
float loc1 = [[[yourDataDict valueForKey:@"location"] objectAtIndex:0] floatValue]; 
float loc2 = [[[yourDataDict valueForKey:@"location"] objectAtIndex:1] floatValue]; 
+0

je ne sais pas mais ur donner objectatindex à 0 et 1. Mais l'emplacement est à une seule position séparée par une virgule. – Shivaay

+0

En accédant à votre dictionnaire de données, [yourDataDict valueForKey: @ "location"] donne le tableau et il a deux éléments de type nsstring. –

+0

tnx fr code mais il jette une exception ... l'objet ne sera pas nul ... y ??? – Shivaay

0
NSArray *loc = [[_arrData objectAtIndex:j] objectForKey:@"location"]; 
double locX = [[loc objectAtIndex:0] doubleValue]; 
double locY = [[loc objectAtIndex:1] doubleValue]; 
+0

Je ne sais pas mais je donne objectatindex à 0 et 1. mais l'emplacement est à une seule position séparée par virgule. – Shivaay

+0

Le champ 'location' dans votre réponse JSON est représenté comme une liste, qui devient un NSArray, avec 2 entrées , après l'analyse. – tom

+0

il montre avertissement nsarray peut ne pas répondre à objectforkey ... – Shivaay

Questions connexes