我正在通过 PHP 在我的应用程序中解析 JSON,我的消息中心运行良好,但现在它停止工作。我正在使用 Swift 5、PHP 和 MySQL。
当我尝试在应用程序中查看页面时,我收到一个 JSON 错误消息,
'无法读取数据,因为它的格式不正确'。
使用相同代码的其他页面没有这个问题。
我尝试了不同的属性,JSONSerialization但没有任何效果。
从 php 加载消息的 Swift 5 代码
func loadMessages() {
let username = user!["username"] as! String
let url = URL(string: "https://www.xxxx.com/messagecenter.php")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
let body = "username=\(username)"
request.httpBody = body.data(using: String.Encoding.utf8)
URLSession.shared.dataTask(with: request) { data, response, error in
DispatchQueue.main.async(execute: {
if error == nil {
do {
let json : NSDictionary? = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? NSDictionary
self.tableView.reloadData()
guard let parseJSON = json else {
print("Error while parsing")
return
}
guard let messages = parseJSON["messages"] as? [AnyObject] else {
print("Error while parseJSONing")
return
}
self.hhmessages = messages
for i in 0 ..< self.hhmessages.count {
let path = self.hhmessages[i]["ava"] as? String
if !path!.isEmpty {
let url = URL(string: path!)!
let imageData = try? Data(contentsOf: url)
let image = UIImage(data: imageData!)!
self.avas.append(image) // append found image to [images] var
} else {
let image = UIImage()
self.avas.append(image)
}
}
森栏