gpt4 book ai didi

swift - JSON 的正确类结构被推送到本地 Realm

转载 作者:行者123 更新时间:2023-11-30 10:47:08 27 4
gpt4 key购买 nike

好吧,基本上我想做的是从我制作的 API 中提取运动鞋数据,该 API 保存有关各种运动鞋的数据。 json 结构看起来像这样。

  sneakers {
bramds {
nike
nikeshoe1
nikeshoe2
......
jordan
jordanshoe1
jordanshoe2
......
}
}

我想在 swift 中创建一个继承可解码类的类,以便我可以解析和反序列化 json 并将其传递给 Realm 。我看了这个指南,但我仍然有点卡在建模部分。目前我所拥有的是这样的

import Foundation
import RealmSwift


struct Sneaker: Decodable {
var brands : [Brands]

}

struct Brands: Decodable {
var brandName: String
var shoe: [Shoe]

}

struct Shoe:Decodable {

var productlink: String
var productlinkhref: String
var name: String
var price: String
var releasedate: String
var colorway: String
var brand: String
var designer: String
var technology: String
var maincolor: String
var silhouette: String
var nickname: String
var category: String
var imagesrc: String

}

我只是想弄清楚我是否走在正确的轨道上,使这些模型可以根据我的 JSON 结构进行解码。除此之外,将可解码对象推送到 Realm 的正确语法是什么,它会是相同的语法吗?我在下面提供了一个 JSON 示例,欢迎任何帮助

{
"sneakers": {
"brands" : {
"Air Jordan": [
{
"webscraperorder": "1554084909-97",
"webscraperstarturl": "https://www.goat.com/sneakers",
"productlink": "$200AIR JORDAN 6 RETRO 'INFRARED' 2019",
"productlinkhref": "https://www.goat.com/sneakers/air-jordan-6-retro-black-infrared-384664-060",
"name": "Air Jordan 6 Retro 'Infrared' 2019",
"price": "Buy New - $200",
"description": "The 2019 edition of the Air Jordan 6 Retro ‘Infrared’ is true to the original colorway, which Michael Jordan wore when he captured his first NBA title. Dressed primarily in black nubuck with a reflective 3M layer underneath, the mid-top features Infrared accents on the midsole, heel tab and lace lock. Nike Air branding adorns the heel and sockliner, an OG detail last seen on the 2000 retro.",
"releasedate": "2019-02-16",
"colorway": "Black/Infrared 23-Black",
"brand": "Air Jordan",
"designer": "Tinker Hatfield",
"technology": "Air",
"maincolor": "Black",
"silhouette": "Air Jordan 6",
"nickname": "Infrared",
"category": "lifestyle",
"imagesrc": "https://image.goat.com/crop/1250/attachments/product_template_additional_pictures/images/018/675/318/original/464372_01.jpg.jpeg"
},
{
"web-scraper-order": "1554084911-110",
"webscraperstarturl": "https://www.goat.com/sneakers",
"productlink": "NewMar 30$160AIR JORDAN 1 RETRO HIGH OG 'PHANTOM'",
"productlinkhref": "https://www.goat.com/sneakers/air-jordan-1-retro-high-og-black-phantom-555088-160",
"name": "Air Jordan 1 Retro High OG 'Phantom'",
"price": "Buy New - $160",
"description": "Instead of the usual two-tone color blocking, the Air Jordan 1 Retro High OG ‘Phantom’ makes use of contrast stitching in black and red to distinguish the high-top’s clean lines. The shoe’s all-leather upper is finished in off-white Sail, accented by a padded collar and underlayer Swoosh in University Red. True to its OG designation, the design is finished with Nike Air branding on the woven tongue tag and insole.",
"releasedate": "2019-03-30",
"colorway": "Sail/Black-Phantom-University Red",
"brand": "Air Jordan",
"designer": "Peter Moore",
"technology": "Air",
"maincolor": "White",
"silhouette": "Air Jordan 1",
"nickname": "Phantom",
"category": "lifestyle",
"imagesrc": "https://image.goat.com/crop/1250/attachments/product_template_additional_pictures/images/020/095/781/original/411931_06.jpg.jpeg"
}

如果我忽略了一些细节,请告诉我。

最佳答案

看起来您的方向是正确的,但是您看过 Apple 的示例吗?

https://developer.apple.com/documentation/foundation/archives_and_serialization/using_json_with_custom_types

我发现可下载的 Playground 非常有帮助。

此外,由于您可以设计 JSON,因此您可以自由地将 JSON 镜像为您想要的 Swift 数据结构。所以我会从那开始倒退。

关于swift - JSON 的正确类结构被推送到本地 Realm ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55540882/

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