JSON-如何在JSONpath中包含键的点

JSON-如何在JSONpath中包含键的点,json,sql-server,Json,Sql Server,例如,我们有JSON结构语句: { "dbo.people": [{ "p.name": "John", "surname": "Doe" }, { "name": "Jane", "surname": null, "active": true }] } 当我们想要检索JSON值“John”时,代码JSON\u值(jsonInfo,'$.dbo.people[0].p.name')将无法按预期工作。那么我们如何在JSONpath中实现点呢 在字段周围使用

例如,我们有JSON结构语句:

{
"dbo.people": [{
    "p.name": "John",
    "surname": "Doe"
}, {
    "name": "Jane",
    "surname": null,
    "active": true
}]
}

当我们想要检索JSON值“John”时,代码
JSON\u值(jsonInfo,'$.dbo.people[0].p.name')
将无法按预期工作。那么我们如何在JSONpath中实现点呢

在字段周围使用括号和引号

JSON_VALUE(jsonInfo, "$['dbo.people'][0]['p.name']")

我已经找到了这种情况的解决方案,可以这样写:

JSON_VALUE(jsonInfo, '$."dbo.dbo.people"[0]."p.name"')

在字段周围使用双引号

JSON_VALUE(jsonInfo, "$['dbo.people'][0]['p.name']")

但是这仍然不能解决表名“dbo.people”中的点问题?@user3651247我已经调整了我的答案,以反映出Hi-MicFin,我认为不建议在SQL Server中使用双引号。使用双引号时将无法识别。