How do you remove an object from a VARCHAR(MAX) JSON array?
Setup
DECLARE @Json VARCHAR(MAX) =
JSON_QUERY('[{"u":"user1","i":"item1"},{"u":"user2","i":"item2"}]')
SELECT @Json
DECLARE @NewJson VARCHAR(MAX) =
JSON_QUERY('{"u":"user3","i":"item3"}')
SELECT @NewJson
Result
[{"u":"user1","i":"item1"},{"u":"user2","i":"item2"}]
{"u":"user3","i":"item3"}
Append @NewJson to @Json
SELECT JSON_MODIFY(@Json, 'append $', JSON_QUERY(@NewJson))
Result
[{"u":"user1","i":"item1"},{"u":"user2","i":"item2"},{"u":"user3","i":"item3"}]
All good.
Remove Index 0 from @Json
SELECT JSON_MODIFY(@Json, '$[0]', NULL)
Result
[null,{"u":"user2","i":"item2"}]
I don't want index 0 to be null. I want it removed.
I can't find anything in the docs that state how to remove an object from an array.