How to use JSON_MODIFY to change all of the keys in a column that has an array of JSON objects?

Viewed 15

I have a column in my database that looks like this (3 separate rows of data)

Columns
[{"header":"C", "value":"A"},{"header":"D","value":"A2"},{"header":"E","value":"A3"}]
[{"header":"C", "value":"B"},{"header":"D","value":"B2"},{"header":"E","value":"B3"}]
[{"header":"C", "value":"C"},{"header":"D","value":"C2"},{"header":"E","value":"C3"}]

I want to null out all of the values of the "header" key and change the name to be test I also want to change the name all of the "value"'s to be newHeader

I tried running a script like this to change all of the headers inside the array to be test but it doesn't expect the '*' character.

UPDATE Files 
SET Columns = JSON_MODIFY(
  JSON_MODIFY(Columns,'$.test', JSON_VALUE(Columns,'$[*].header')),
  '$[*].header',
  NULL
 )

The end result I want to be like this:

Columns
[{"test":"", "newHeader":"A"},{"test":"","newHeader":"A2"},{"test":"","newHeader":"A3"}]
[{"test":"", "newHeader":"B"},{"test":"","newHeader":"B2"},{"test":"","newHeader":"B3"}]
[{"test":"", "newHeader":"C"},{"test":"","newHeader":"C2"},{"test":"","newHeader":"C3"}]
0 Answers
Related