Один из возможных подходов - преобразовать $.Data
часть вашей строки JSON в таблицу с OPENJSON()
, ВЫБРАТЬ строки с новым столбцом isDeleted
как JSON и изменить исходный JSON:
DECLARE @json nvarchar(max)
SET @json = N'
{
"Key": "Employee",
"Data": [
{"id": "1", "value": "Vogel"},
{"id": "2", "value": "Vogel"}
]
}';
SELECT @json = JSON_MODIFY(
@json,
'$.Data',
(
SELECT items.[id], items.[value], 'False' AS [isDeleted]
FROM OPENJSON(JSON_QUERY(@json, '$.Data'))
WITH (
[id] nvarchar(10),
[value] nvarchar(100)
) AS items
FOR JSON PATH
)
)
Вывод:
{
"Key": "Employee",
"Data": [{"id":"1","value":"Vogel","isDeleted":"False"},{"id":"2","value":"Vogel","isDeleted":"False"}]
}