source Here https://www.codeproject.com/Articles/1046120/Friday-the-th-JSON-is-coming-to-SQL-Server
样本数据
{ "type": "MultiPolygon",
"coordinates": [
[
[[40, 40], [20, 45], [45, 30], [40, 40]]
],
[
[[20, 35], [10, 30], [10, 10], [30, 5], [45, 20], [20, 35]],
[[30, 20], [20, 15], [20, 25], [30, 20]]
]
]
}
sql代码
SELECT polygons.[key] as polygon, lines.[key] as line, x, y
FROM OPENJSON(@multipolygon, '$.coordinates') as polygons
CROSS APPLY OPENJSON(polygons.value) as lines
CROSS APPLY OPENJSON(lines.value)
WITH (x float '$[0]', y float '$[1]')