我几天前开始使用Decodable,我想知道是否有可能在不创建更多模型的情况下创建模型"Car“,具有以下JSON:
{
"cars": [
{
"id": 1,
"name": "car1"
},
{
"id": 2,
"name": "car2"
},
{
"id": 3,
"name": "car3"
}
],
"pagination": {
"page": 1,
"offset": 20
}
}我找到的唯一解决方案是创建一个类似于"Response“的”包装器“模型,其中包含一个像汽车这样的属性。
有没有人能确认一下,仅仅使用"Car“模型就可以解码这个JSON?
谢谢。
诚挚的问候
发布于 2019-02-12 18:26:13
你可以试试
let str = """
{
"cars": [
{
"id": 1,
"name": "car1"
},
{
"id": 2,
"name": "car2"
},
{
"id": 3,
"name": "car3"
}
],
"pagination": {
"page": 1,
"offset": 20
}
}
"""
do {
let tr = try JSONSerialization.jsonObject(with: Data(str.utf8), options: []) as! [String:Any]
let da = try JSONSerialization.data(withJSONObject: tr["cars"] , options: [])
let res = try JSONDecoder().decode([Car].self, from: da)
print(res)
}
catch {
print(error)
}struct Car: Codable {
let id: Int
let name: String
}https://stackoverflow.com/questions/54647795
复制相似问题