jos*_*eph 8 json swift swifty-json
我在我的文件系统中添加了一个JSON文件,其中数据结构如下:
{"DDD":"3D Systems Corporation","MMM":"3M Company","WBAI":"500.com Limited","WUBA":"58.com Inc.","AHC":"AH Belo公司","ATEN":"A10 Networks,Inc.","AAC":"AAC Holdings,Inc.","AIR":"AAR Corp." }
我的文件名是stockDict.json,我正在尝试使用此代码从中检索数据:
let jsonFilePath:NSString = NSBundle.mainBundle().pathForResource("stockDict", ofType: "json")!
let jsonData:NSData = NSData.dataWithContentsOfMappedFile(jsonFilePath as String) as! NSData
let error:NSError?
let json = JSON(jsonData)
println(json[0][0].string)
Run Code Online (Sandbox Code Playgroud)
但是我打印的所有内容都是nil.我的代码出了什么问题?
任何建议,将不胜感激.
Tee*_*ppa 11
你试过吗?
let json = JSON(data: jsonData) // Note: data: parameter name
println(json["DDD"].string)
Run Code Online (Sandbox Code Playgroud)
我没有代表发表评论,但是从iOS 8开始,这个答案已被弃用,特别是以下部分.
.dataWithContentsOfMappedFile
Run Code Online (Sandbox Code Playgroud)
XCode告诉我.
'dataWithContentsOfMappedFile' was deprecated in iOS 8.0: Use +dataWithContentsOfURL:options:error: and NSDataReadingMappedIfSafe or NSDataReadingMappedAlways instead.
Run Code Online (Sandbox Code Playgroud)
- - - 编辑 - - - -
这是我正在使用的更新代码.它编译并运行iOS 9.1的目标.
let path = NSBundle.mainBundle().pathForResource("fileName", ofType: "json")
let jsonData = NSData(contentsOfFile:path!)
let json = JSON(data: jsonData!)
Run Code Online (Sandbox Code Playgroud)
Swift 3/4版本:
let path = Bundle.main.path(forResource: "JSON", ofType: "json")!
let jsonString = try? String(contentsOfFile: path, encoding: String.Encoding.utf8)
let json = JSON(parseJSON: jsonString!)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7749 次 |
| 最近记录: |