[英]Parsing JSON from PHP in Swift 4
使用Swift 4從PHP輸出頁面加載JSON時出現錯誤。
注意:已檢查PHP腳本,並且可以正常工作
let myUrl = URL(string: "http://localhost/swift/signin_up/login.php");
var request = URLRequest(url:myUrl!)
request.httpMethod = "POST"// Compose a query string
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
DispatchQueue.main.async {
let task = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
if error != nil {
print("error=\(error!)")
return
}
// You can print out response object
print("response = \(response!)")
print("==================================")
//Let's convert response sent from a server side script to a NSDictionary object:
do {
let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary
if let parseJSON = json {
print(parseJSON)
}
} catch {
print(" error:\(error)")
}
}
task.resume()
我從Xcode收到此錯誤消息:
錯誤:錯誤域= NSCocoaErrorDomain代碼= 3840“ JSON文本不是以數組或對象開頭,並且沒有允許設置片段的選項。” UserInfo = {NSDebugDescription = JSON文本不是以數組或對象開頭,並且沒有允許設置片段的選項。}
當我將選項更改為:
options: [.mutableContainers, .allowFragments]
我收到此錯誤消息:
錯誤:錯誤域= NSCocoaErrorDomain代碼= 3840“垃圾在結尾。” UserInfo = {NSDebugDescription =垃圾末。}
這是我測試的PHP輸出:
{"id":"1","email":"aa","password":"aa"}
在數據庫服務器中設置character_set時請謹慎選擇(utf8_unicode_ci)以在使用時獲取正確的json格式
json_encode(//json variable);
在PHP中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.