gpt4 book ai didi

swift - 如何在两个不同的键中解码具有相同变量的 JSON?

转载 作者:行者123 更新时间:2023-11-28 07:34:13 25 4
gpt4 key购买 nike

我正在学习Decodables。这是我的模型:

struct DQModel: Decodable{  
var details: DQDetails
}

struct DQDetails: Decodable {
var weekly_details: WeeklyDetails
var your_turn: MyTurn
var their_turn: TheirTurn
}

struct WeeklyDetails: Decodable {
var win: Int?
var loss: Int?
}

struct MyTurn: Decodable {
var name: String?
var pic: String?
var current: String?
var time: String?
var win: Int?
var loss: Int?
}

struct TheirTurn: Decodable {
var name: String?
var pic: String?
var current: String?
var time: String?
var win: Int?
var loss: Int?
}

这里可以看到MyTurnTheirTurn完全一样,变量相同,只是key不同而已。有什么方法可以让我不必再次重写 variables 吗?或者在将来,如果有任何情况发生,比如 10 个中有 9 个是相同的,我是否可以采用任何方法来减少复制/粘贴工作?

提前致谢。

最佳答案

您可以为回合创建一个通用的“结构”,并在两种情况下(myTurn 和 theirTurn)都使用它们。您可以按如下方式执行此操作:

struct Turn: Decodable {

var name: String?

var pic: String?

var current: String?

var time: String?

var win: Int?

var loss: Int?
}

并像这样使用:

struct DQDetails: Decodable {

var weekly_details: WeeklyDetails

var your_turn: Turn

var their_turn: Turn

}

它将减少您创建两个不同结构的工作量。

关于swift - 如何在两个不同的键中解码具有相同变量的 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53703715/

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