У меня есть некоторые данные, переданные через JSON, который представляет собой массив кортежей, содержащих массивы, и я не могу извлечь данные из него.Я пытался приводить к разным типам, но единственное, что работает, это [Любой], и я не могу разбить это дальше.JSON:
{
...
// stuff that I can easily read, like "WIDTH": 33,
...
"WIDTHS_ROI_PAIRS": [[80, [0,0,200,160]], [145, [0, 240, 100, 60]], [145, [100, 240, 100, 60]]]
}
Структура, в которую предполагается войти:
struct WidthRoiPair: Codable {
let width: Int
let roi: [Int]
}
Что я хочу сделать (это не работает, воспринимайте это как псевдокод):
let widthRoiPairsTmp = json["WIDTHS_ROI_PAIRS"] as! [Any]
for p in widthRoiPairsTmp {
let pair = WidthRoiPair(width: p.0 as! Int, roi:p.1 as! [Int])
widthRoiPairs.append(pair)
}
Попытка p [0] вместо p.0 также не работает, попытка привести JSON напрямую к тому, что мне нужно, что-то вроде этого:
let widthRoiPairsTmp = json["WIDTHS_ROI_PAIRS"] as! [(Int, [Int])]
такжене работаетЯ пытался использовать JSONDecoder (), но я не знаю, как передать ему json ["WIDTHS_ROI_PAIRS"] (или его элементы) (как преобразовать его обратно в данные).Я уверен, что ответ очевиден для любого, кто имеет немного больше опыта работы со Swift, но на данный момент я полностью застрял ...