SwiftyJSON 读取文件 - 空
SwiftyJSON reading file - null
我正在尝试读取项目文件夹中的 j.json 文件。执行代码时我没有得到任何错误,但我得到的不是打印出来,而是 "null"。初始文件扩展名为 .rtf。
let jsonFilePath:NSString = NSBundle.mainBundle().pathForResource("j", ofType: "json")!
let jsonData:NSData = NSData(contentsOfFile: jsonFilePath as String, options: .DataReadingMappedIfSafe, error: nil)!
let json = JSON(data: jsonData)
println(json)
更新:
问题是我使用了 rtf 文件(正如提到的 here)。这是正确的代码。
let jsonFilePath:NSString = NSBundle.mainBundle().pathForResource("<INPUT FILE NAME>", ofType: "<FILE EXTENTION>")!
let jsonData:NSData = NSData(contentsOfFile: jsonFilePath as String, options: .DataReadingMappedIfSafe, error: nil)!
var error:NSError?
let json = JSON(data: jsonData, options: .AllowFragments, error: &error)
if error != nil{
println(error!.localizedDescription)
}
else{
println(json)
}
先传好消息
- 你的代码是正确的
- 你会不会错了
jsonFilePath
,contentsOfFile
会失败
坏消息
- 格式不正确json?好像没有。您的样本解析正确
- 我已经使用您的代码 + 您的 json 成功创建了一个应用程序并且它解析正确。我没有收到错误。
从这里到哪里去?
防御性使用let json = JSON(data: jsonData, options: .AllowFragments, error: &error)
并检查错误。这总是好的做法。
您使用的是哪个版本的 SwiftyJSON?
Installing SwiftyJSON (2.2.0)
我正在尝试读取项目文件夹中的 j.json 文件。执行代码时我没有得到任何错误,但我得到的不是打印出来,而是 "null"。初始文件扩展名为 .rtf。
let jsonFilePath:NSString = NSBundle.mainBundle().pathForResource("j", ofType: "json")!
let jsonData:NSData = NSData(contentsOfFile: jsonFilePath as String, options: .DataReadingMappedIfSafe, error: nil)!
let json = JSON(data: jsonData)
println(json)
更新:
问题是我使用了 rtf 文件(正如提到的 here)。这是正确的代码。
let jsonFilePath:NSString = NSBundle.mainBundle().pathForResource("<INPUT FILE NAME>", ofType: "<FILE EXTENTION>")!
let jsonData:NSData = NSData(contentsOfFile: jsonFilePath as String, options: .DataReadingMappedIfSafe, error: nil)!
var error:NSError?
let json = JSON(data: jsonData, options: .AllowFragments, error: &error)
if error != nil{
println(error!.localizedDescription)
}
else{
println(json)
}
先传好消息
- 你的代码是正确的
- 你会不会错了
jsonFilePath
,contentsOfFile
会失败
坏消息
- 格式不正确json?好像没有。您的样本解析正确
- 我已经使用您的代码 + 您的 json 成功创建了一个应用程序并且它解析正确。我没有收到错误。
从这里到哪里去?
防御性使用
let json = JSON(data: jsonData, options: .AllowFragments, error: &error)
并检查错误。这总是好的做法。您使用的是哪个版本的 SwiftyJSON?
Installing SwiftyJSON (2.2.0)