【发布时间】:2023-03-07 07:36:01
【问题描述】:
我有一个 JSON 对象,我不知道如何访问给定 JSON 中的 exclude_list。
{"variants":
{"variant_groups":
[
{
"group_id":"1",
"name":"Crust",
"variations":[
{"name":"Thin","price":0,"default":1,"id":"1","inStock":1},
{"name":"Thick","price":0,"default":0,"id":"2","inStock":1,"isVeg":1},
{"name":"Cheese burst","price":100,"default":0,"id":"3","inStock":1,"isVeg":1}]},
{
"group_id":"3",
"name":"Sauce",
"variations":[
{"name":"Manchurian","price":20,"default":0,"id":"20","inStock":1,"isVeg":0},
{"name":"Tomato","price":20,"default":0,"id":"21","inStock":1,"isVeg":1},
{"name":"Mustard","price":20,"default":0,"id":"22","inStock":1,"isVeg":0}]
}],
"exclude_list":[
[
{"group_id":"1","variation_id":"3"},
{"group_id":"2","variation_id":"10"}
],
[
{"group_id":"2","variation_id":"10"},
{"group_id":"3","variation_id":"22"}
]
]
}
}
我可以使用下面的Struct 访问以下属性:variants、variant_groups:
public struct VariantResponse: Codable {
public let variants: Variants
}
public struct Variants: Codable {
public let variantGroups:[VariantGroup]
public let excludeList:[ExcludeItems]
}
public struct VariantGroup: Codable {
public let groupId: String
public let name: String
public let variations: [Variant]
}
public struct Variant: Codable {
public let name: String
public let price: Int
public let defaultValue: Int
public let id: String
public let inStock: Int
public var isVeg: Int?
private enum CodingKeys : String, CodingKey {
case name, price, defaultValue = "default", id, inStock, isVeg
}
}
public struct ExcludeItems: Codable {
public let excludes:[Exclude]
}
public struct Exclude: Codable {
public let groupId: String
public let variationId: String
}
【问题讨论】:
标签: json swift codable jsondecoder