2016-07-11 27 views
-1

Ich versuche swifty Sohn zu verwenden, um eine lokale Datei zu analysieren. Ich bin in der Lage, Inhalt in Daten zu speichern, aber aus irgendeinem Grund speichert JSON aus dem Swift-Son-Framework keinen Inhalt (Und die Anzahl der Zeilen zählt 0). Was mache ich falsch?Swift JSON Parsing Fehler?

import SwiftyJSON 
class MainTableViewController: UITableViewController { 
    var NumberofRows = 0 
    var names = [String]() 

    func parseJSON(){ 
    let path = NSBundle.mainBundle().URLForResource("documents", withExtension: "json") 

    let data = NSData(contentsOfURL: path!) as NSData! 

    let readableJSON = JSON(data: data) 


    NumberofRows = readableJSON["Documents"].count 

    print(NumberofRows) 

    for i in 1...NumberofRows { 
     var doc = "Doc" + "\(i)" 
     var Name = readableJSON["Documents"][doc]["name"].string as String! 
     names.append(Name) 
    } 

} 
+0

in Ihren Codedaten ist nicht null, wenn Sie Ihren Code ausführen? –

+0

Was passiert, wenn Sie versuchen, "lesbarJSON" zu drucken? – Connor

+0

@ConnorNeville es druckt "null" –

Antwort

1

Sie müssen prüfen, ob NSData null ist oder nicht.

if let path = NSBundle.mainBundle().URLForResource("documents", withExtension: "json") { 
    if let data = NSData(contentsOfURL: path) as? NSData { 
     let readableJSON = JSON(data: data) 
     // ... 
    } 
} 
+0

Wenn 'data'' nil' ist, sollte der Entwickler seine Hausaufgaben machen ;-) – vadian

+0

Es ist nicht null. Das ist nicht das Problem lol @vadian –

+0

Sorry, ich habe die Kommentare zu Ihrer Frage missverstanden. Bist du sicher, dass der JSON korrekt ist? –