Naprawdę mam problem z odczytaniem pliku JSON w Swift, aby móc się nim bawić. Spędziłem najlepszą część 2 dni na ponownym wyszukiwaniu i wypróbowywaniu różnych metod, ale na razie nie mam szczęścia, więc zapisałem się do StackOverFlow, aby sprawdzić, czy ktoś może skierować mnie w dobrym kierunku .....
Mój plik JSON nazywa się test.json i zawiera następujące elementy:
{
"person":[
{
"name": "Bob",
"age": "16",
"employed": "No"
},
{
"name": "Vinny",
"age": "56",
"employed": "Yes"
}
]
}
Plik jest zapisywany bezpośrednio w dokumentach i uzyskuję do niego dostęp za pomocą następującego kodu:
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.....
Jeśli ktokolwiek może po prostu popchnąć mnie we właściwym kierunku, jak mogę dokonać serializacji pliku JSON i umieścić go w dostępnym obiekcie Swift, będę wiecznie wdzięczny!
Z poważaniem,
Krivvenz.
path
jest widoczny tylko w if
zakresie i nierozwiązany, gdy go używasz NSData(contentsOfFile, options, error)
; masz także literówki w nazwach enum.