gpt4 book ai didi

json - 解析Json swift

转载 作者:行者123 更新时间:2023-11-28 10:31:06 24 4
gpt4 key购买 nike

如何在包含数字元素的 json 中检索信息?我必须 swift 在 Json 中获取信息,但我有数字元素,我不知道如何获取这些部分的信息。

在我的 Json 中,我设法恢复了一些信息,没问题。但是那些有一个标题的人我不能,因为我不能声明一个变量“1”。我取了day中的元素title,但是我不知道如何取1中的informations points in ranking

Json 的 url 是:https://www.lnr.fr/flux/rankings?id_competition=prod2

class Classification: Codable {
let channel : Channel
let classification : [Day]

init(channel: Channel ,classification: [Day] ) {
self.channel = channel
self.classification = classification
}
}

class Channel: Codable {
let title: String

init (title: String) {
self.title = title
}
}

class Day: Codable {
let day: day

init(day: day) {
self.day = day
}
}

class day: Codable {
let title: String
let rankings : Equipe

init(title: String, rankings: Equipe) {
self.title = title
self.rankings = rankings
}
}

class Equipe: Codable {

let club: Club
let difference: String
let points: String
let points_marques: String
let points_encaisses: String
let nombre_matchs_joues: String
let nombre_matchs_gagnes: String
let nombre_matchs_nuls: String
let nombre_matchs_perdus: String

init(club: Club,difference: String, points: String, points_marques: String, points_encaisses: String, nombre_matchs_joues: String, nombre_matchs_gagnes: String, nombre_matchs_nuls: String, nombre_matchs_perdus: String) {

self.club = club
self.difference = difference
self.points = points
self.points_marques = points_marques
self.points_encaisses = points_encaisses
self.nombre_matchs_joues = nombre_matchs_joues
self.nombre_matchs_gagnes = nombre_matchs_gagnes
self.nombre_matchs_nuls = nombre_matchs_nuls
self.nombre_matchs_perdus = nombre_matchs_perdus
}
}

class Club: Codable {
let name: String
let url: logo

init(name: String, url: logo) {
self.name = name
self.url = url
}
}

class logo: Codable {
let url: String

init(url: String) {
self.url = url
}
}

最佳答案

您可以为此使用自定义编码键;结帐Encoding and Decoding Custom Types

例子:

struct Foo: Codable {
var bar: String
var baz: Int

enum CodingKeys: String, CodingKey {
case bar = "1"
case baz = "2"
}
}

let json = "{\"1\":\"bar\",\"2\":\"baz\"}".data(using: .utf8)
let decoder = JSONDecoder()
let foo = try decoder.decode(Foo.self, from: json)
// foo.bar = 'bar'
// foo.baz = 'baz'

// this also works with encoding
let foo = Foo(bar: "MyBar", baz: "MyBaz")
// foo encodes to {"1":"MyBar", "2":"MyBaz"}

嵌套示例 结构 FooBar: Codable { 变种富:富 变量栏:字符串 变量 baz:整数

struct Foo: Codable {
var bar1: String
var bar2: String
var bar3: String
var bar4: String
var bar5: String
var bar6: String

enum CodingKeys: String, CodingKey {
case bar1 = "1"
case bar2 = "2"
case bar3 = "3"
case bar4 = "4"
case bar5 = "5"
case bar6 = "6"
}
}

这个和json结构是一样的:

{
"foo": {
"1": "One",
"2": "Two",
"3": "Three",
"4": "Four",
"5": "Five",
"6": "Six"
},
"bar": "Barrr",
"baz": "Bazz"
}

关于json - 解析Json swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55903842/

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