我一直试图将我的json结果从本地主机解析为Xcode。但是我的json结果似乎格式正确。我还创建了查询以将结果从phpmyAdmin转换为json。看起来不错,但我不知道我的问题是否出自该代码。
我的数据库(人)中只有两列(姓名和薪水)。结果看起来像是字典的数组。
[{"name":"Isaac","salary":"2000"},{"name":"David","salary":"7000"}]
我复制了此代码并将其粘贴到json验证程序中,并将其标记为有效。
来到我的将json结果解析为xcode的代码中:
以上代码打印零142字节看来问题出在这行。
let iphoneinfos = try? JSONDecoder().decode([Iphoneinfo].self, from: data)
任何帮助将不胜感激。
import UIKit
struct Iphoneinfo: Codable
{
let name : String
let salary : Int
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "http://localhost/xcodeprojectDB/sql_to_json.php")!
URLSession.shared.dataTask(with: url)
{ data, response, error in
if let data = data {
let iphoneinfos = try? JSONDecoder().decode([Iphoneinfo].self, from: data)
print(iphoneinfos)
print(data)
}
}
.resume()
}
}
在下面的JSON响应中,
[{"name":"Isaac","salary":"2000"},{"name":"David","salary":"7000"}]
"salary"
的值是String
,而不是Int
。
因此,在struct Iphoneinfo
中,salary
必须为String
类型,而不是Int
,即
struct Iphoneinfo: Codable
{
let name : String
let salary : String
}