2015-04-20 15 views
6
[ 
    { 
     "cont": 9714494770, 
     "id": "1", 
     "name": "Kakkad" 
    }, 
    { 
     "cont": 9714494770, 
     "id": "2", 
     "name": "Ashish" 
    } 
] 

Powyższa jest tablicą json wypełnioną obiektami JSON. Nie wiem, jak do analizowania przez to z SwiftyJSONSwiftyJSON przeplatanie tablicy obiektów JSON

+0

JSON nie używa cudzysłowów typograficznych '' „...” :) –

+0

wystarczy założyć, że są normalnymi cytaty – gwhiz

Odpowiedz

10

przykład od strony SwiftyJSON, dostosowaną do swoich danych:

let json = JSON(data: dataFromNetworking) 
for (index, object) in json { 
    let name = object["name"].stringValue 
    println(name) 
} 
+0

Dlaczego nie może to być po prostu dla obiektu w json? Co robi dla (index, object) w jsonie inaczej, co sprawia, że ​​działa dokładnie? Nigdy wcześniej tego nie widziałem. Dzięki – vikzilla

+0

Możesz użyć _ zamiast indeksu, ale indeks może być pomocny w pewnych sytuacjach, kiedy musisz wiedzieć, gdzie jesteś w tablicy. Lub możesz użyć klucza, obiektu dla słowników. –

2

Zakładając [{"id":"1", "name":"Kakkad", "cont":"9714494770"},{"id":"2", "name":"Ashish", "cont":"9714494770"}] jest przypisany do właściwości o nazwie jsonData.

let sampleJSON = JSON(data: jsonData)

let sampleArray = sampleJSON.array sampleArray jest opcjonalną tablicę obiektów JSON.

let firstDict = sampleArray[0] firstDict jest opcjonalnym dyktando JSON.

let name = firstDict["name"] jest opcjonalnym obiekt JSON

let virtName = name.string jest opcjonalny string (w tym przypadku "Kakkad").

let realName = name.stringValue realName to ciąg lub pusty ciąg znaków.

Można również użyć: let longName = sampleJSON[0]["name"].stringValue

Po zainicjować obiekt JSON z danymi wszystkich elementów są typy JSON aż konwertować je do szybkiej typu.

  • .string opcjonalne (ciąg lub null)
  • .stringValue lub "łańcuch" pusty ciąg
  • .dict opcjonalne ([łańcuch: AnyObject] lub zerowa)
  • .dictValue ([String : AnyObject] lub String: AnyObject)
Powiązane problemy