gpt4 book ai didi

ios - 我是否需要始终创建嵌套结构以从json响应中的嵌套模型中仅获取一个属性?

转载 作者:行者123 更新时间:2023-12-01 18:04:03 26 4
gpt4 key购买 nike

假设对此问题使用JSONDecoder。

我是否需要始终创建嵌套结构以从json响应中的嵌套模型中仅获取一个属性?

对于例如考虑下面的JSON响应:
我看到一些教程,他们在其中创建结构来获取嵌套属性(如下面示例中的公司名称),我的问题是,如果我只需要用户名,用户名和公司名称该怎么办
从下面的回应。我是否仍需要为公司创建单独的结构。然后访问其中的name属性。

like ...
struct user{
id : Int
name : String?
company : Company?
}
struct Company{
name : String?
}

仅用一种结构不可能吗?为什么还要创建另一个结构以仅获取一个属性?
[
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "Sincere@april.biz",
"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",
"zipcode": "92998-3874",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
"phone": "1-770-736-8031 x56442",
"website": "hildegard.org",
"company": {
"name": "Romaguera-Crona",
"catchPhrase": "Multi-layered client-server neural-net",
"bs": "harness real-time e-markets"
}
},
{
"id": 2,
"name": "Ervin Howell",
"username": "Antonette",
"email": "Shanna@melissa.tv",
"address": {
"street": "Victor Plains",
"suite": "Suite 879",
"city": "Wisokyburgh",
"zipcode": "90566-7771",
"geo": {
"lat": "-43.9509",
"lng": "-34.4618"
}
},
"phone": "010-692-6593 x09125",
"website": "anastasia.net",
"company": {
"name": "Deckow-Crist",
"catchPhrase": "Proactive didactic contingency",
"bs": "synergize scalable supply-chains"
}
}
]

这可能写吗?
struct user{
id : Int
name : String?
companyname : String?

private enum CodingKeys: String, CodingKey {
case id
case name
case companyname = "company.name"
}
}

最佳答案

您不必创建嵌套结构。您可以使用自定义的init(from:)方法创建一个结构,该方法将dumpster-div手动转换为JSON。使用多个结构的原因是您不必编写init(from:)方法。选择一种方法或另一种方法,以适合您的整体需求。

关于ios - 我是否需要始终创建嵌套结构以从json响应中的嵌套模型中仅获取一个属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58682607/

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