如何使用Swift代码4构建我的模型并使用JSON解码器进行解析



我有这个JSON响应,我需要在Swift 4上解码,但我只需要它的某些属性。我只想获取游戏事件类型,并只注册时间戳、legendPlayed、gameLength和数字"Kills"(如果它存在于游戏事件下(。所以总的来说,我想要游戏中的时间戳、legendPlayed、gameLength和击杀(如果存在的话(,而不是会话或关卡或其他任何东西。如何使用JSON解码器构建我的模型和解析?

[
{
"uid": "6774478804953216437",
"player": "Yungblem6",
"timestamp": 1598780938,
"eventType": "Session",
"event": {
"action": "join"
}
},
{
"uid": "6774478804953216437",
"player": "Yungblem6",
"timestamp": 1598778237,
"eventType": "Session",
"event": {
"action": "leave",
"sessionDuration": 174
}
},
{
"uid": "6774478804953216437",
"player": "Yungblem6",
"timestamp": 1598777637,
"eventType": "Level",
"event": {
"newLevel": 182
}
},
{
"uid": "6774478804953216437",
"player": "Yungblem6",
"timestamp": 1598777637,
"eventType": "Game",
"xpProgress": 0,
"gameLength": 10,
"legendPlayed": "Wraith",
"rankScoreChange": "0",
"event": []
},
{
"uid": "6774478804953216437",
"player": "Yungblem6",
"timestamp": 1598776978,
"eventType": "Game",
"xpProgress": 2880,
"gameLength": 12,
"legendPlayed": "Wraith",
"rankScoreChange": "0",
"event": [
{
"value": 3,
"key": "kills",
"name": "Kills"
}
]
},
{
"uid": "6774478804953216437",
"player": "Yungblem6",
"timestamp": 1598776198,
"eventType": "Game",
"xpProgress": 360,
"gameLength": 2,
"legendPlayed": "Wraith",
"rankScoreChange": "0",
"event": [
{
"value": 1,
"key": "kills",
"name": "Kills"
}
]
},
{
"uid": "6774478804953216437",
"player": "Yungblem6",
"timestamp": 1598767798,
"eventType": "Session",
"event": {
"action": "join"
}
},
{
"uid": "6774478804953216437",
"player": "Yungblem6",
"timestamp": 1598767737,
"eventType": "Game",
"xpProgress": 4680,
"gameLength": 24,
"legendPlayed": "Wraith",
"rankScoreChange": "0",
"event": [
{
"value": 4,
"key": "kills",
"name": "Kills"
}
]
}
]

struct Player: Codable {
var uid: String
var player: String
var timestamp: String
var eventType: String
var event: Event

}
struct Event: Codable {
var event: String
}

最新更新