2010-07-20 9 views
1

exemple 1: ==> [{ "name": "Luxy"}] exemple 2: ==> { "name": "Luxy"}iphone Xcode JSON question

Les deux exemple, je suis arrivé sont valables format JSON ...

dans Xcode ... J'écris ci-dessous:

[dictionnaire objectForKey: @ "nom"]

dans l'exemple 2 je peux obtenir "Luxy" mais comment se fait si je l'utilise exemple 1, puis il échoue? est-ce que mon xcode est faux?

+1

Vous devez spécifier ce que l'analyseur JSON que vous utilisez et fournir des détails au sujet de la -erreur type d'échec etc. – Nick

Répondre

0

Je suppose que vous utilisez json-framework de stig? Si c'est le cas, lorsque vous parserez un exemple, vous obtiendrez un NSArray. Lorsque vous analysez l'exemple deux, vous obtenez un NSDictionary.

id example1 = [parser objectWithString:jsonString]; 

if ([example1 isKindOfClass:[NSArray class]]) { 
    // You've got an array, probably an array of dictionaries 
} else if ([example1 isKindOfClass:[NSDictionary class]]) { 
    // you've got a dictionary, handle it 
} else { 
    // you've got something else 
} 
0

Grâce à Kubi !!! Tu as raison! a oublié la logique JSON de base sur la différence d'objet tableau & ...

Je suis tout à fait nouveau dans Xcode, mais un peu bizarre .... si ... est un tableau

NSString * élément = [Example1 objectAtIndex: 0];

je peux obtenir la chaîne de l'élément ... mais bizarre quand je mets

NSDictionary * dictionnaire = [élément JsonValue]; == < à ce stade, je reçois un certain sélecteur unrecongized .....

[dictionnaire objectForKey: @ « nom »]