微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 JSON 对象 SQL Server 2019 中删除数组元素

如何解决从 JSON 对象 SQL Server 2019 中删除数组元素

我有以下 JSON 对象。我正在尝试从 Task 对象中删除 TaskX。我将值设置为 null 但它只是替换 null 而不是删除对象。

JSON 对象:

DECLARE @JsonData NVARCHAR(MAX) = N'{
   "Model":[
      {
         "ModelName":"Test Model","Object":[
            {
               "ID":1,"Name":"ABC","Task":[
                  {
                     "TaskID":10,"Name":"TaskA"
                  },{
                     "TaskID":11,"Name":"TaskB"
                  }
               ]
            },{
               "ID":2,"Name":"XYZ","Task":[
                  {
                     "TaskID":12,"Name":"TaskX"
                  },{
                     "TaskID":13,"Name":"TaskY"
                  }
               ]
            }
         ]
      }
   ]
}"'"

#1

尝试了以下查询。但没有奏效。有人可以帮我吗?

SET @JsonData = JSON_MODIFY(@JSONData,'$.Model[0].Object[1].Task[0]',null);

我期待以下输出。我可以在上面的查询中更改什么?

{
                                                                       
 "Model": [
   {                                                                                    
      "ModelName": "Test Model","Object": [                                                                                         
          {                                                                                             
             "ID": 1,"Name": "ABC","Task" : [                                                                                                 
                {                                                                                                     
                  "TaskID" : 10,"Name" : "TaskA"                                                                                                 
                },{                                                                                                     
                  "TaskID" : 11,"Name" : "TaskB"                                                                                                 
                }                                                                                            
            ]                                                                                       
          },{                                                                                           
            "ID": 2,"Name": "XYZ","Task" : [                                                                                              
              {                                                                                                    
                 "TaskID" : 13,"Name" : "TaskY"                                                                                                
              }                                                                                             
            ]                                                                                      
          }                                                                                  
        ]
     }]}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。