gpt4 book ai didi

arrays - 在 Swift 中解析具有错误设计结构的 JSON

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

我必须解析一些设计非常糟糕的 JSON,老实说,我从未遇到过这样的问题。以下是整个 JSON 文件的简化截取:

{
"5ee70183-87fe-4799-802e-ef7f5e7323db":
{
"title": "Bank 1",
"logo": "655ee02d87cf4cdf912c3507233b0520.gif"
},
"332c7078-97ad-4bf7-b8ee-44d85a9c88d1":
{
"title": "Bank 2",
"logo": "655ee02d87cf4cdf912c3507233b0520.gif"
},
"8e9bd4c8-6f4a-4663-ae86-b8fbaf295030":
{
"title": "Bank 3",
"logo": "655ee02d87cf4cdf912c3507233b0520.gif"
}
}

如您所见,“根”键是一些 UUID。那些带有值的键应该是一个列表,但它没有使用正确的 [] 括号作为列表,而是使用了 {} 错误的括号。如果我使用 codables 解析它,我必须创建具有 UUID 名称的结构,但最糟糕的是,这个“列表”不是固定的,但理论上是无限的。所以我的工作是解析这个 JSON 并获取一组银行实体。由于我现在感到震惊和困惑,我只是认为我无法使用编码器,需要手动将其解析为字典并通过分配给正确的列表项从那里获取属性。如果您曾经遇到过这样的问题或知道更好的解析选项,它将极大地帮助我处理这个问题。

最佳答案

你需要

let res = try! JSONDecoder().decode([String:Root].self,from:data)
print(Array(res.values))

struct Root: Codable {
let title, logo: String
}

关于arrays - 在 Swift 中解析具有错误设计结构的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56702910/

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