SQL Server:如何修改嵌套JSON数组中的JSON元素值

问题描述 投票:0回答:1

如果我有低于JSON(@CarDataJsontest),例如

{
  "house": {
    "gate": [
      "Car1",
      "Car911",
      "Car3",
      "Car4"
    ]
  }
}

如果我需要做的是将car911修改为car2,我所要做的就是下面

SET @CarDataJsontest= JSON_MODIFY(@CarDataJsontest, '$.house.gate[1]','Car2')

现在我有一个JSON @CarDataJson,如下所示

{
  "house": {
    "gate": [
      [
        "Car1",
        "Car911",
        "Car3",
        "Car4"
      ]
    ]
  }
}

现在我需要做什么才能将car911修改为car2?

因为使用下面的Query

SET @CarDataJson = JSON_MODIFY(@CarDataJson , '$.house.gate[0].[1]','Car2')

我刚收到一个错误。

在位置X找到意外的字符'['

sql json tsql sql-server-2017
1个回答
0
投票

感谢@JeroenMostert的评论

如果我有一个JSON @CarDataJson,如下所示

{
  "house": {
    "gate": [
      [
        "Car1",
        "Car911",
        "Car3",
        "Car4"
      ]
    ]
  }
}

我需要做的就是将car911修改为car2

SET @CarDataJson = JSON_MODIFY(@CarDataJson , '$.house.gate[0][1]','Car2')
© www.soinside.com 2019 - 2024. All rights reserved.