У меня есть часть данных json, подобная этой:
{"id":"contour.7",
"nodes":
["30 787
{n:'hr00'
}",
"30 726 31 665 33 604",
"37 604",
"39 665 39 726 40 787 s"]
}
Я действительно не знаю, правильный ли это синтаксис, но у меня нет выбора.Это дано.Теперь мне нужно преобразовать массив nodes
в массив структур, подобных этой (или подобной):
struct Node:Codable {
enum NodeType {
case smooth
case corner
}
var points: [CGPoint] // created from pairs numbers (x, y, x, y, x, y) of string in nodes
var type: NodeType // last word of string "39 665 39 726 40 787 s" converted to NodeType. If exist
var name: // from {n:'hr00'}
}
Я попробовал несколько подходов (formatter, encoder - init(from decoder..
), но очень быстро я обнаружил, что они некрасивы и не оченьбезопасно, и я не знаю, как это сделать.Это хороший способ справиться с такими вещами?