2016-07-29 56 views
0

Im用swift向我的数据库发送Post消息。但是,我如何处理来自该响应的数据?我的变量responseString现在看起来像这样。我想获得每个参数并与他们一起工作。Swift2处理来自POST的数据

可选([{ “ID”: “9”, “名”: “万圣节”, “大街”: “街道”, “tel_nr”: “123456789”, “kommentar”: “发表评论”} ])

let request = NSMutableURLRequest(URL: NSURL(string: "http://localhost/getByName.php")!) 

    request.HTTPMethod = "POST" 

    let postString = "name=hallow" 

    request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding) 

    let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { 
     data, response, error in 
     let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding) 
     print("responseString = \(responseString)") 

    } 
    task.resume() 
+1

不要将JSON数据放入字符串中,您将无法对其执行任何操作。相反,使用NSJSONSerialization将JSON数据转换为对象(您的案例中的字典数组)。 – Moritz

回答

0

你的PHP返回一个包含字典的数组,所以你必须访问它像 if let responsedict = response.first { print(responsedict["id"]) }// prints 9

(如果你知道有将是没有其他元件的返回第一个是好的...或者改变你的数据发回的方式)。

您可以进一步解析模型中的响应。

let person = Person(id: response.first?["id"], name: response.first?["name"], etc) 
print("id \(person.id)") 
//id 9 
+0

response.first does not work不知道为什么 – Korken55

+0

@ Korken55我在你的问题的评论下告诉你解决方案。也许你错过了它。 – Moritz

+0

y谢谢,实际上那工作。 – Korken55