У меня есть структура, которая выглядит так:
struct Joint: Identifiable, Codable {
@DocumentID var id : String? = UUID().uuidString
var serviceType : Int
var businessName : String
var keywords: [String]
var menu : [DishItems]
enum CodingKeys : String, CodingKey {
case businessName
case serviceType = "jointType"
case keywords
case menu
}
}
struct DishItems: Codable {
var listOrder : Int
var menuItemName : String
var menuItemDescription : String
var menuItemPrice : Double
}
DishItems - это настраиваемый объект, и я использую декодер FirebaseFireStoreSwift JSON для извлечения документов.
let db = Firestore.firestore().collection("Joints")
db.getDocuments { (querySnapshot, error) in
guard let documents = querySnapshot?.documents else {
print("No restaurants")
return
}
let jointsArray : [Joint] = documents.compactMap {
return try? $0.data(as: Joint.self)
}
completion(jointsArray)
}
Я могу запросить все документы, если исключу «меню» из родительской структуры, но как только я включу его, запросы не будут выполняться. Как мне go получить массив объектов внутри JSON?
введите описание изображения здесь