我希望有人能帮我指明正确的方向,因为我正在尝试使用openjson将json文件解析为sql。我有一个这样的结构:
DECLARE @json AS NVARCHAR(MAX) = '
[{
"id": "78",
"Version": {
"Value": "12"
},
"Names": [{
"NameId": {
"Value": "8516365"
},
"id": "328787",
"NameLinkType": {
"Value": "A"
"CommsChains": {
"Value": [[{
"com_primary": {
"Value": "Y"
},
"com_recd": {
"Value": "2020-07-07 00:00:00.000"
},
"com_ack": {
"Value": "2020-07-09 00:00:00.000"
},
}
]]
), },
},
],
}
]'
我能够正确解析大多数json,因此对于每个id,我可以返回如下值 Version
或者 NameId
. 但是,我无法返回任何日期有关 com_recd
或者 com_ack
,位于commschains[object]–value[array]–[0][array]下
1条答案
按热度按时间56lgkhnf1#
您的json中似乎有一些语法错误。在修复它们之后,我能够尝试找到日期表达式到日期值的json路径。这是sql:
在这里,我展示了json不同部分的选择。数组的内容总是引用为
[0]
因为它总是第一个在这里选择的索引。有关sql server上json路径的更多信息,请参见此处