我能夠在控制檯看起來像這樣如何使用Swifty Json將POST請求中的JSON數據保存到字典中?
{
"created_at" : "2016-07-21 20:46:53",
"name" : "PB Admin",
"id" : 1,
"updated_at" : "2016-07-21 12:46:53",
"lname" : "Admin",
"access_lvl" : 1,
"email" : "[email protected]",
"fname" : "PB"
}
打印JSON數據,但不能將其保存到字典中。
的POST請求的方法
private func makeHTTPPostRequest(path: String, body: NSDictionary) {
let request = NSMutableURLRequest(URL: NSURL(string: path)!)
// Set the method to POST
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
request.HTTPMethod = "POST"
do {
// Set the POST body for the request
let jsonBody = try! NSJSONSerialization.dataWithJSONObject(body, options: [])
request.HTTPBody = jsonBody
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
let json:JSON = JSON(data: data!)
print(json)//print on console
//i need to get the json data from here, but for some reason it would skip
//this method
self.parseJSON(json)
})
task.resume()
} catch {
// Create your personal error
//onCompletion(nil, nil)
}
}
這個方法應該JSON數據保存到一個字典
private func parseJSON(json: JSON) {
for(_, object) in json {
let createdAt = object["created_at"].stringValue
let name = object["name"].stringValue
let id = object["id"].stringValue
let updatedAt = object["updated_at"].stringValue
let lName = object["lname"].stringValue
let accessLvl = object["access_lvl"].stringValue
let email = object["email"].stringValue
let fname = object["fname"].stringValue
let obj = ["createdAt":createdAt, "name":name, "id":id, "updatedAt":updatedAt, "lName":lName, "accessLvl":accessLvl, "email":email, "fname":fname ]
objects.append(obj)//wherein objects is a string dictionary
}
}
每當我調試代碼,對象詞典始終爲空,即使處理的整體具有完了。