ฉันกำลังดิ้นรนกับการพยายามอ่านไฟล์ JSON ใน Swift เพื่อให้ฉันสามารถเล่นกับมันได้ ฉันใช้เวลาส่วนที่ดีที่สุดในการค้นหาใหม่ 2 วันและลองใช้วิธีการที่แตกต่างกัน แต่ก็ยังไม่มีโชคดังนั้นฉันได้ลงทะเบียนกับ StackOverFlow เพื่อดูว่าใครสามารถชี้ให้ฉันไปในทิศทางที่ถูกต้อง .....
ไฟล์ JSON ของฉันชื่อ test.json และมีสิ่งต่อไปนี้:
{
"person":[
{
"name": "Bob",
"age": "16",
"employed": "No"
},
{
"name": "Vinny",
"age": "56",
"employed": "Yes"
}
]
}
ไฟล์ถูกเก็บไว้ในเอกสารโดยตรงและฉันเข้าถึงได้โดยใช้รหัสต่อไปนี้:
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.....
หากใครก็ตามสามารถผลักดันฉันในทิศทางที่ถูกต้องเกี่ยวกับวิธีที่ฉันสามารถยกเลิกการทำให้เป็นอันดับของไฟล์ JSON และวางไว้ในวัตถุ Swift ที่เข้าถึงได้ฉันจะขอบคุณตลอดไป!
ขอแสดงความนับถือ,
Krivvenz
path
สามารถมองเห็นได้เฉพาะในif
ขอบเขตและได้รับการแก้ไขเมื่อคุณใช้มันในNSData(contentsOfFile, options, error)
; คุณยังมีการพิมพ์ผิดในชื่อ enum