【问题标题】:Swift parse json from API - The data couldn’t be read because it isn’t in the correct formatSwift 从 API 解析 json - 无法读取数据,因为它的格式不正确
【发布时间】:2021-01-15 10:51:25
【问题描述】:

从 API 获取 json 数据时出现此错误。我在网站上做了一些研究,但仍然无法解决问题。我该如何解决这个问题?

JSON Data

date    :   2020.09.29
time    :   17:48:25
violence  : 3.2
region: AKDENIZ
struct EarthQuake: Codable {

    var date: String
    var time: String
    var violence: Double
    var region: String
}
 func fetchPostData(completionHandler: @escaping ([EarthQuake]) -> Void) {

        let url = URL(string: "https://test.xyz.php")!

        let task = URLSession.shared.dataTask(with: url) { (data, response, error) in

            guard let data = data else { return }
            do {
                let postsData = try JSONDecoder().decode([EarthQuake].self, from: data)

                completionHandler(postsData)

            } catch {
                let error = error
                print(error.localizedDescription)
            }
        }.resume()

    }

【问题讨论】:

    标签: ios json swift api uikit


    【解决方案1】:

    可能值得仔细检查您正在调用的 api 中的响应对象,并确保它符合 [EarthQuake].self 类型。 (应该是 EarthQuake 对象的列表)。如果您在原始帖子中添加的 JSON 数据是从端点返回的正确数据,那么这不是一个列表,如果它是一个 EarthQuake 对象,您只需要删除括号即可。所以

    [地震].self.应该是EarthQuake.self

    【讨论】:

    • 我修复了 json4swift.com 的问题。谢谢回复:)
    猜你喜欢
    • 2020-03-11
    • 1970-01-01
    • 2019-07-28
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    相关资源
    最近更新 更多