2016-02-28 1 views
1

J'ai ce code, mais le problème est que je ne peux pas obtenir la valeur exacte au lieu, il me donnera une valeur nulle quand je teste dans dans NSLogSwifty JSON sur rapide ne peut pas obtenir des données

func parseJSON() { 

    let path: String = NSBundle.mainBundle().pathForResource("vehicles", ofType: "json") as String! 
    let jsonData = NSData(contentsOfFile: path) as NSData! 
    let readableJSON = JSON(data: jsonData, options: NSJSONReadingOptions.MutableContainers, error: nil) 

    let Makes = readableJSON["Make"] 
    NSLog("\(Makes)") 


} 

et j'ai l'échantillon objet JSON ici:

[ 
{ 
"id": "56c3fe547816d74d1c34fcaf", 
"IDVehicle": "323405", 
"IDCustomer": "77", 
    "Make": "AUDI", 
"Model": "A4" 
}, 
{ 
"id": "56c3fe547816d74d1c34fe2a", 
"IDVehicle": "248599", 
"IDCustomer": "432307", 
"Make": "MAZDA", 
"Model": "6" 
} 
] 

REMARQUE: J'utilise le SwiftyJSON de GitHub grâce

+0

Votre JSON est un tableau de dictionnaires, vous devez donc indiquer quel élément d'un tableau vous voulez lire ... Ex: readableJSON [0] ["Make"] –

+0

avec le code ci-dessus, vous obtiendrez le dictionnaire stocké dans le tableau index 0 –

+0

@vivektakrani merci monsieur. mais comment puis-je les afficher tous? comme comment afficher tout faire? Merci –

Répondre

1

Vous pouvez le faire en utilisant pour boucle ...

Avec Index

for (index, element) in enumerate(readableJSON) { 
    println("Item \(index): \(element["Make"])") 
} 

ou sans indice

for element in readableJSON{ 
    print("element["Make"]") 
} 

Mais assurez-vous que readableJSON est un tableau.