我需要获取最新的"id": "article"
"createdAt": "2016-04-22T03:38:39.130Z"
日期。如何在swift中从请求中获取此数据?
注意:对不起,我是一个快速的新手。
答案 0 :(得分:2)
let url = "https://cdn.contentful.com/spaces/maz0qqmvcx21/entries?access_token=ae8163cb8390af28cd3d7e28aba405bac8284f9fe4375a605782170aef2b0b48";
var jsonData:NSData?
do{
jsonData = try NSData(contentsOfURL: NSURL(string: url)!, options: NSDataReadingOptions.DataReadingUncached)
let jsonObject:AnyObject? = try NSJSONSerialization.JSONObjectWithData(jsonData!, options: NSJSONReadingOptions.AllowFragments)
if let itemArray = jsonObject?.objectForKey("items") as? NSArray{
for item in itemArray{
if let sysItem = item.objectForKey("sys"){
//this is createdAt
if let createdAt = sysItem.objectForKey("createdAt") as? String{
print("createdAt:\(createdAt)")
}
if let contentTypeItem = sysItem.objectForKey("contentType")!.objectForKey("sys"){
//this is id
if let id = contentTypeItem.objectForKey("id") as? String{
print("id:\(id)")
}
}
}
}
}
}catch let err as NSError{
print("err:\(err)")
}
此代码不使用任何库,但您可以使用SwiftyJSON,这将很容易解析json。
希望得到这个帮助。
答案 1 :(得分:1)
这可以通过简单的方式完成。我假设你已经将你的json解析为字典
你有一个带有项目的键,这是一个字典数组,在你创建的字典里面和id(它更深入到层次结构中,但我会告诉你如何获得它)键。您只需执行此操作即可访问它。
for dict in jsonDict["items"] as! Array<NSDictionary> {
let sysDict = dict["sys"] as! NSDictionary
print(sysDict["createdAt"]) //prints all createdAt in the array
let contentDict = sysDict["contentType"]
print((contentDict["sys"] as! NSDictionary)["id"]) // prints all ids
}
希望这有帮助。