Tôi thực sự vật lộn với việc cố đọc một tệp JSON vào Swift để tôi có thể chơi xung quanh nó. Tôi đã dành 2 ngày tốt nhất để tìm kiếm lại và thử các phương pháp khác nhau nhưng chưa có may mắn nào nên tôi đã đăng ký với StackOverFlow để xem có ai có thể chỉ cho tôi đi đúng hướng .....
Tệp JSON của tôi được gọi là test.json và chứa các mục sau:
{
"person":[
{
"name": "Bob",
"age": "16",
"employed": "No"
},
{
"name": "Vinny",
"age": "56",
"employed": "Yes"
}
]
}
Các tập tin được lưu trữ trong các tài liệu trực tiếp và tôi truy cập nó bằng mã sau đây:
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.....
Nếu bất cứ ai có thể giúp tôi đi đúng hướng về cách tôi có thể hủy tuần tự hóa tệp JSON và đặt nó vào một đối tượng Swift có thể truy cập, tôi sẽ biết ơn mãi mãi!
Trân trọng,
Krivvenz.
path
chỉ hiển thị trong if
phạm vi và chưa được giải quyết khi bạn sử dụng nó trong NSData(contentsOfFile, options, error)
; bạn cũng có lỗi chính tả trong tên enum.