簡體   English   中英

Swift 從 API 解析 json - 無法讀取數據,因為它的格式不正確

[英]Swift parse json from API - The data couldn’t be read because it isn’t in the correct format

從 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()

    }

可能值得仔細檢查您正在調用的 api 中的響應對象,並確保它符合 [EarthQuake].self 類型。 (這應該是 EarthQuake 對象的列表)。 如果您在原始帖子中添加的 JSON 數據是從端點返回的正確數據,那么這不是列表,如果它是 EarthQuake 對象,您只需要刪除括號。 所以

[地震].self. 應該是 EarthQuake.self

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM