Я делаю набег в JSON, я хотел бы добавить пользователя в несколько групп: вставить массив JSON в таблицу.
В идеале JSON должен выглядеть следующим образом:
'{
"Email": "WMogh@starfleet.gov",
"Prefix":null,
"FirstName": "Worf",
"MiddleInitial": "",
"LastName": "Mogh",
"Suffix": "Son Of",
"Title" :"Commander",
"Groups": [{"0", "1", "5"}]
"Better_Groups": [{"ID":"0", "ID":"1", "ID":"5"}]
}'
В настоящее время я могу сделать это с помощью JSON следующим образом:
'{
"Email": "WMogh@starfleet.gov",
"Prefix":null,
"FirstName": "Worf",
"MiddleInitial": "",
"LastName": "Mogh",
"Suffix": "Son Of",
"Title" :"Commander",
"Groups": "1,2,3,4"
}'
затем "распакуйте" его с помощью следующей строчки:
declare @groups varchar(1000)
select @groups = Groups from openjson(@json)
WITH
(
Groups nvarchar(100) '$.Groups'
)
print @groups
select value from string_split(@groups, ',')
, который возвращает симпатичный столик примерно так:
Value
1
2
3
4
Проблема Это плохой JSON, и веб-разработчик будет смеяться надо мной.
Вопрос Как правильно распаковать массив JSON в SQL Server?
Обновление:
Последний использованный JSON выглядит так:
@json =
'{
"Email": "WMogh@starfleet.gov",
"Prefix":null,
"FirstName": "Worf",
"MiddleInitial": "",
"LastName": "Mogh",
"Suffix": "Son Of",
"Title" :"Commander",
"Groups": "1,2,3,4",
"Better_Groups": ["0", "1", "5"]
}'