我有一部分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..
),但是很快我发现它们很丑陋而且不安全,我也不知道该怎么做。处理这种事情的好方法吗?