Swift JSON 解析错误?
Posted
技术标签:
【中文标题】Swift JSON 解析错误?【英文标题】:Swift JSON Parsing Error? 【发布时间】:2016-07-11 18:54:28 【问题描述】:我正在尝试使用 swifty son 解析本地文件。我能够将内容存储在数据中,但由于某种原因,使用 swift son 框架中的 JSON 没有存储任何内容(并且行数为 0)。我究竟做错了什么?
import SwiftyJSON
class MainTableViewController: UITableViewController
var NumberofRows = 0
var names = [String]()
func parseJSON()
let path = NSBundle.mainBundle().URLForResource("documents", withExtension: "json")
let data = NSData(contentsOfURL: path!) as NSData!
let readableJSON = JSON(data: data)
NumberofRows = readableJSON["Documents"].count
print(NumberofRows)
for i in 1...NumberofRows
var doc = "Doc" + "\(i)"
var Name = readableJSON["Documents"][doc]["name"].string as String!
names.append(Name)
【问题讨论】:
在你的代码中运行你的代码时数据不为空? 当您尝试print(readableJSON)
时会发生什么?
@ConnorNeville 它打印“null”
@ReinierMelian 如何判断核心数据是否为空?
验证“documents.json”是否在项目的根目录中,并且它包含有效的 JSON。这告诉您 SwiftyJSON 无法在该 URL 上找到有效的 JSON。
【参考方案1】:
你需要检查 NSData 是否为空。
if let path = NSBundle.mainBundle().URLForResource("documents", withExtension: "json")
if let data = NSData(contentsOfURL: path) as? NSData
let readableJSON = JSON(data: data)
// ...
【讨论】:
如果data
是nil
开发者应该做他的功课;-)
对不起,我误解了您的问题。你确定 JSON 是正确的吗?以上是关于Swift JSON 解析错误?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Codable 解析 JSON 响应会在 swift 中出现错误
Swift json 解析错误:无法将 NSCFConstantString 类型的值转换为 NSArray
如何在 Swift 中使用 Decodable 解析 JSON 元素。我这样做时收到错误