Hallo,
das leidige Thema. Irgendwie habe ich es bis jetzt noch immer auseinander gefuddelt bekommen, aber jetzt sitze ich hier schon was länger und habe mir gedacht ich lass mir mal helfen. Es geht darum, dass ich es immer etwas schwierig finde in einem JSON zu erkennen, was ist ein Dictionary, was ist ein Array, wie komme ich an die gewünschte Information. Ich habe hier ein JSON von Foursquare (Beispiel) :
Alles anzeigen
Ich möchte nun gerne an "name" (also nicht den category name, sondern nur "name") und lat, lng kommen.
Daher dachte ich ins Dictionary "response", dann ins array venues, dort ins dictionary "location" dort dann lat und lng holen. Für name würde ich den Weg "response" Dictionary, dann venues array dann "name" gehen. Irgendwie bekomme ich aber jedesmal ein zurück. Habe ich irgendwas in der JSON Struktur übersehen ?
Vielen Dank !
Mein Code bis jetzt, um den Namen zu extrahieren :
Alles anzeigen
das leidige Thema. Irgendwie habe ich es bis jetzt noch immer auseinander gefuddelt bekommen, aber jetzt sitze ich hier schon was länger und habe mir gedacht ich lass mir mal helfen. Es geht darum, dass ich es immer etwas schwierig finde in einem JSON zu erkennen, was ist ein Dictionary, was ist ein Array, wie komme ich an die gewünschte Information. Ich habe hier ein JSON von Foursquare (Beispiel) :
Quellcode
- {
- "meta" : {
- "code" : 200
- },
- "response" : {
- "neighborhoods" : [
- ],
- "confident" : false,
- "venues" : [
- {
- "location" : {
- "address" : "BAB 3",
- "city" : "Limburg an der Lahn",
- "distance" : 718,
- "country" : "Deutschland",
- "lat" : 50.38891418550349,
- "lng" : 8.079118248496385,
- "cc" : "DE"
- },
- "specials" : {
- "count" : 0,
- "items" : [
- ]
- },
- "id" : "4d6bcc1371d3721ef1ff9506",
- "contact" : {
- },
- "categories" : [
- {
- "id" : "4bf58dd8d48988d1df941735",
- "pluralName" : "Brücken",
- "icon" : {
- "prefix" : "https:\/\/ss1.4sqi.net\/img\/categories_v2\/parks_outdoors\/bridge_",
- "suffix" : ".png"
- },
- "name" : "Brücke",
- "shortName" : "Brücke",
- "primary" : true
- }
- ],
- "verified" : false,
- "stats" : {
- "tipCount" : 1,
- "checkinsCount" : 312,
- "usersCount" : 128
- },
- "hereNow" : {
- "count" : 0,
- "summary" : "0 Leute hier",
- "groups" : [
- ]
- },
- "referralId" : "v-1398089720",
- "name" : "Lahntalbrücke"
- },
- {
- "location" : {
- "address" : "Domplatz 3",
- "city" : "Limburg an der Lahn",
- "distance" : 686,
- "postalCode" : "65549",
- "country" : "Deutschland",
- "lat" : 50.38875961988756,
- "lng" : 8.066523671150208,
- "cc" : "DE"
- },
- "specials" : {
- "count" : 0,
- "items" : [
- ]
- },
- "id" : "4b806079f964a520bb6c30e3",
- "contact" : {
- },
- "categories" : [
- {
- "id" : "4bf58dd8d48988d132941735",
- "pluralName" : "Kirchen",
- "icon" : {
- "prefix" : "https:\/\/ss1.4sqi.net\/img\/categories_v2\/building\/religious_church_",
- "suffix" : ".png"
- },
- "name" : "Kirche",
- "shortName" : "Kirche",
- "primary" : true
- }
- ],
- "verified" : false,
- "stats" : {
- "tipCount" : 3,
- "checkinsCount" : 478,
- "usersCount" : 294
- },
- "hereNow" : {
- "count" : 1,
- "summary" : "1 Person hier",
- "groups" : [
- {
- "count" : 1,
- "type" : "others",
- "name" : "Andere Leute hier",
- "items" : [
- ]
- }
- ]
- },
- "referralId" : "v-1398089720",
- "name" : "Dom St. Georg"
- }
- ]
- }
- }
Ich möchte nun gerne an "name" (also nicht den category name, sondern nur "name") und lat, lng kommen.
Daher dachte ich ins Dictionary "response", dann ins array venues, dort ins dictionary "location" dort dann lat und lng holen. Für name würde ich den Weg "response" Dictionary, dann venues array dann "name" gehen. Irgendwie bekomme ich aber jedesmal ein zurück. Habe ich irgendwas in der JSON Struktur übersehen ?
Vielen Dank !
Mein Code bis jetzt, um den Namen zu extrahieren :
Quellcode
-
- jsonArray = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&errorJson];
- ...
- if (errorJson != nil)
- {
- NSLog(@"Error %@", [errorJson localizedDescription]);
- }
- else
- {
- for (NSMutableDictionary *dict in jsonArray)
- {
- if ([dict objectForKey:@"response"] != [NSNull null])
- {
- NSMutableDictionary *responseDict = [dict objectForKey:@"response"];
- NSMutableArray *venues = [responseDict objectForKey:@"venues"];
- for(NSMutableDictionary *dict in venues) {
- NSLog(@"%@", [dict objectForKey:@"name"]);
- }
- //[returnArray addObject:obj];
- }
- }
- }