将json从本地主机解析为Xcode无效

问题描述 投票:0回答:1

我一直试图将我的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 swift parsing local host
1个回答
0
投票

在下面的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
}
© www.soinside.com 2019 - 2024. All rights reserved.