gpt4 book ai didi

swift - 在swift 4中解码嵌套数组

转载 作者:搜寻专家 更新时间:2023-10-30 22:13:36 25 4
gpt4 key购买 nike

<分区>

获取以下 JSON:

let rawJson =
"""
[
{
"id": 1,
"name":"John Doe"
},
{
"id": 2,
"name":"Luke Smith"
},
]
"""

用户模型:

struct User: Decodable {
var id: Int
var name: String
}

解码起来很简单,像这样:

let data = rawJson.data(using: .utf8)
let decoder = JSONDecoder()
let users = try! decoder.decode([User].self, from: data!)

但是如果 JSON 看起来像这样,其中顶层是一个字典并且需要获取 users 数组怎么办:

let json =
"""
{
"users":
[
{
"id": 1,
"name":"John Doe"
},
{
"id": 2,
"name":"Luke Smith"
},
]
}
"""

读取 JSON 最有效的解决方案是什么?我绝对可以像这样创建另一个 struct:

struct SomeStruct: Decodable {
var posts: [Post]
}

并像这样解码:

let users = try! decoder.decode(SomeStruct.self, from: data!)

但这样做感觉不对,仅仅因为数组嵌套在字典中就创建了一个新的模型对象。

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