【发布时间】:2023-03-05 17:40:01
【问题描述】:
我有这种 JSON 格式:
{
"version":"7.0.19",
"fields": ["ID","pm","age","pm_0","pm_1","pm_2","pm_3","pm_4","pm_5","pm_6","conf","pm1","pm_10","p1","p2","p3","p4","p5","p6","Humidity","Temperature","Pressure","Elevation","Type","Label","Lat","Lon","Icon","isOwner","Flags","Voc","Ozone1","Adc","CH"],
"data":[[20,0.0,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,97,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,null,null,null,1413,0,"Oakdale",40.603077,-111.83612,0,0,0,null,null,0.01,1]],
"count":11880
}
但我不知道如何使用 Codable 协议来解析 json 响应。
这将是我想要的模型。
struct Point: Codable {
let pm2: String?
let latitude, longitude: Double?
let temp: String?
let iD: String?
enum CodingKeys: String, CodingKey {
case pm2 = "pm", temp = "Temperature", iD = "ID", latitude = "Lat", longitude = "Lon"
}
}
这是 json 的 URL
https://webbfoot.com/dataa.json
【问题讨论】:
-
所以,这个想法是
"data"中的值顺序是由"fields"中的字段顺序定义的? -
是的。例如..第一行 I.D. = 20,下午 = 0.0 等等...
-
你应该在你的问题中添加你想要得到的结果模型,即使你不知道怎么做
-
我过去回答过一个类似的问题,所以它可能会有所帮助:stackoverflow.com/a/61854827/968155
-
责备服务的所有者发送这种伪 CSV 格式。这是非常不切实际的解析。