先把读取的swift代码贴出来,和oc类似,只不过NSBundle变成了Bundle:
swift 4.0
let jsonPath = Bundle.main.path(forResource: "resultdata", ofType: "json")
let data = NSData.init(contentsOfFile: jsonPath!)
接下来是对json数据进行解析,给出个json的样本:
{
"status": 0,
"msg": "ok",
"data": {
"tags": [
{
"id": "0",
"title": "全部",
},
{
"id": "photo",
"title": "快看我",
}
],
"comments": [
{
"content": "不错",
"praise": "0",
"date": "2017-08-25",
}
]
}
}
这里,这里,开始解析:
let jsonDic:NSDictionary = try! JSONSerialization.jsonObject(with: data! as Data, options: JSONSerialization.ReadingOptions.mutableContainers) as! NSDictionary
let jsonDicData:NSDictionary = jsonDic.object(forKey: "data") as! NSDictionary
let array:NSArray = jsonDicData.object(forKey: "comments") as! NSArray;
读取,解析,结束。
然而有时候卡到第一步了,怎么回事?json文件,明明自己拉进项目了,为什么获取到的path为nil呢 ?
方式不对,正确的step如下 — >
注意:json文件是添加到Copy Bundle Resources里面,不是Compile Sources里边。
点加号,把json文件添加进去就好了,问题解决,数据拿到。
有问题请邮件:584379066@qq.com , 请备注