Ich habe wirklich Probleme damit, eine JSON-Datei in Swift einzulesen, damit ich damit herumspielen kann. Ich habe den größten Teil von 2 Tagen damit verbracht, verschiedene Methoden erneut zu suchen und auszuprobieren, aber noch kein Glück. Deshalb habe ich mich bei StackOverFlow angemeldet, um zu sehen, ob mich jemand in die richtige Richtung weisen kann.
Meine JSON-Datei heißt test.json und enthält Folgendes:
{
"person":[
{
"name": "Bob",
"age": "16",
"employed": "No"
},
{
"name": "Vinny",
"age": "56",
"employed": "Yes"
}
]
}
Die Datei wird direkt in den Dokumenten gespeichert und ich greife mit folgendem Code darauf zu:
let file = "test.json"
let dirs : String[] = NSSearchPathForDirectoriesInDomains(
NSSearchpathDirectory.DocumentDirectory,
NSSearchPathDomainMask.AllDomainMask,
true) as String[]
if (dirs != nil) {
let directories: String[] = dirs
let dir = directories[0]
let path = dir.stringByAppendingPathComponent(file)
}
var jsonData = NSData(contentsOfFile:path, options: nil, error: nil)
println("jsonData \(jsonData)" // This prints what looks to be JSON encoded data.
var jsonDict = NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: nil) as? NSDictionary
println("jsonDict \(jsonDict)") - This prints nil.....
Wenn mir jemand nur einen Schub in die richtige Richtung geben kann, wie ich die JSON-Datei de-serialisieren und in ein zugängliches Swift-Objekt einfügen kann, bin ich auf ewig dankbar!
Mit freundlichen Grüßen,
Krivvenz.
path
ist es nur im if
Bereich sichtbar und ungelöst, wenn Sie es in verwenden NSData(contentsOfFile, options, error)
. Sie haben auch Tippfehler in Aufzählungsnamen.