Ios Swift/MySql/PHP-“;数据无法’;因为它是’;t的格式正确。”;错误
当我尝试将mysql数据加载到我的swift程序时,我遇到了这个错误。我试图在控制台中获取输出,然后再将其放入SwiftUI。当我使用断点进行调试时,我可以看到加载到变量中的数据,但Swift无法读取它。看了很多视频,如果我找到任何修复,但没有运气 错误:数据格式不正确,无法读取。 获取此行的错误信息:Ios Swift/MySql/PHP-“;数据无法’;因为它是’;t的格式正确。”;错误,ios,mysql,swift,xcode,Ios,Mysql,Swift,Xcode,当我尝试将mysql数据加载到我的swift程序时,我遇到了这个错误。我试图在控制台中获取输出,然后再将其放入SwiftUI。当我使用断点进行调试时,我可以看到加载到变量中的数据,但Swift无法读取它。看了很多视频,如果我找到任何修复,但没有运气 错误:数据格式不正确,无法读取。 获取此行的错误信息: let postsData=try JSONDecoder().decode([Post].self,from:data) 非常感谢您的帮助,因为我已经在这里呆了将近一个星期了。多谢各位 这是我
let postsData=try JSONDecoder().decode([Post].self,from:data)
非常感谢您的帮助,因为我已经在这里呆了将近一个星期了。多谢各位
这是我的完整代码
- Post.swift结构:
- JsonViewController.swift类:
[{"Name":"John","City":"Sydney"}]
尽管数据在web浏览器中以JSON格式正确加载,但如果您的service.php文件在php标记之前和之后有任何HTML标记等,它将无法在Swift中正确解析。非常愚蠢的错误,但希望这能帮助其他人。这似乎与phpac没有任何关系。实际上,我刚刚发现我的service.php文件存在一个问题,该文件中几乎没有导致问题的html标记。清理文件后工作正常。谢谢你的回复。
import UIKit
class JsonViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
fetchPostData { (posts) in
for post in posts {
print(post.Name!)
}
}
}
func fetchPostData(completionHandler: @escaping ([Post]) -> Void) {
let url = URL(string: "https://localhost/service.php")!
let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
guard let data = data else { return }
do {
let postsData = try JSONDecoder().decode([Post].self, from: data)
completionHandler(postsData)
}
catch {
let error = error
print(error.localizedDescription)
}
}
task.resume()
}
}
[{"Name":"John","City":"Sydney"}]