JSON-如何在JSONpath中包含键的点
例如,我们有JSON结构语句: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中实现点呢 在字段周围使用
{
"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中使用双引号。使用双引号时将无法识别。