2016-07-29 94 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