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

Quello sopra è un array json pieno di oggetti JSON. Non so come analizzare attraverso questo con SwiftyJSONSwiftyJSON looping attraverso una serie di oggetti JSON

+0

JSON non utilizzare le virgolette tipografiche '“...”' :) –

+0

dare per scontato che sono citazioni normali – gwhiz

risposta

10

Esempio dalla pagina SwiftyJSON, adattato ai dati:

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

Perché non può essere solo per oggetto in JSON? Cosa fa per (indice, oggetto) in json fa diversamente che lo fa funzionare esattamente? Non l'ho mai visto prima. Grazie – vikzilla

+0

È possibile utilizzare _ anziché l'indice, ma l'indice può essere utile per determinate situazioni quando è necessario sapere dove ci si trova nell'array. Oppure puoi usare la chiave, l'oggetto per i dizionari. –

2

Supponendo [{"id":"1", "name":"Kakkad", "cont":"9714494770"},{"id":"2", "name":"Ashish", "cont":"9714494770"}] è assegnato ad una proprietà denominata jsonData.

let sampleJSON = JSON(data: jsonData)

let sampleArray = sampleJSON.array sampleArray è un array opzionale di oggetti JSON.

let firstDict = sampleArray[0] firstDict è un comando JSON opzionale.

let name = firstDict["name"] è un oggetto JSON opzionale

let virtName = name.string è una stringa opzionale (In questo caso "Kakkad").

let realName = name.stringValue realName è una stringa o una stringa vuota.

Si potrebbe anche usare: let longName = sampleJSON[0]["name"].stringValue

Dopo aver inizializzare l'oggetto JSON con i dati tutti gli elementi sono tipi JSON fino a quando non li converte in un tipo veloce.

  • .string opzionale (stringa o nullo)
  • stringa .stringValue o "" vuoto stringa
  • .dict opzionale ([String: ANYOBJECT] o nullo)
  • .dictValue ([String : ANYOBJECT] o String: ANYOBJECT)