gpt4 book ai didi

ios - 如何使用 decodable 正确解码此 json 字符串?

转载 作者:行者123 更新时间:2023-11-28 18:27:21 25 4
gpt4 key购买 nike

我有以下 json 字符串:

{"weight":[{"bmi":24.75,"date":"2020-01-20","logId":1000,"source":"API","time":"23:59:59","weight":200}]}

我想将它转换为 Swift 对象以便访问不同的值。这是我想要做的,我有这些结构设置:

struct FitbitResponseModel: Decodable  {
let weight: [FitbitResponseData]
}


struct FitbitResponseData: Decodable {
let bmi: Int
let date: String
let logId: Int
let source: String
let time: String
let weight: Int
}

然后我有这个方法来解码 json 字符串:

func parseJSON(data: Data) -> FitbitResponseModel? {

var returnValue: FitbitResponseModel?
do {
returnValue = try JSONDecoder().decode(FitbitResponseModel.self, from: data)
} catch {
print("Error took place: \(error.localizedDescription).")
}

return returnValue
}

但是,当我尝试运行它时,出现无法读取数据的错误,因为它的格式不正确。我究竟做错了什么?感谢您的帮助。

提前致谢!

最佳答案

改变

let bmi: Int 

let bmi: Double 

因为如果任何变量类型与 JSON 响应不匹配,它的值在您的响应中会出现 24.75 整个模型不会映射到 Codable 协议(protocol)(Encodable 和 Decodable)

关于ios - 如何使用 decodable 正确解码此 json 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59867131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com