Интересно, как я могу поместить этот объект JSON, , состоящий из двух массивов чисел с плавающей точкой , в таблицу базы данных SQL:
{
"Latitudes": [
53.665084,
53.665084,
53.665184,
53.665284
],
"Longitudes":[
17.342853,
17.342953,
17.343053,
17.343153
]
}
Таблица имеет 3 столбца: CoordID, Latitude, Longitude(CoordID автоматически увеличивается).Я хотел бы поместить каждую пару этих таблиц ([0], [0] / [1] [1] и т. Д.) В одну строку в таблице. Таким образом, с этим объектом это будет 4 строки.
Вот код, который не работает, как я ожидаю - он просто помещает нули вместо "Столбцы "долгота" и "широта", и она создает только ОДНУ строку ... (вместо 4 строк):
declare @json NVARCHAR(MAX);
SET @json=
'{
"Latitudes": [
53.665084,
53.665084,
53.665184,
53.665284
],
"Longitudes":[
17.342853,
17.342953,
17.343053,
17.343153
]
}'
insert into dbo.Coords(
[Latitude],[Longitude])
select Latitude, Longitude from OPENJSON(@json)
WITH(
Latitude FLOAT '$."Latitudes"',
Longitude FLOAT '$."Longitudes"')
PS Функция OPENJSON () работает с версии SQL Server 2016 или в базе данных SQL Azure,На всякий случай, если кто-нибудь попытается запустить это в SSMS 2014, т.е.; -)