在 SQL 中,如何按索引提取键的值[0]
?或者,从这个 JSON 结构中提取值的最佳方法是什么?
declare @jsonString nvarchar(max)
set @jsonString = '{
"action": "edit",
"data": {
"Accountable Inventory Technician|99999": {
"PosTitle": "Accountable Inventory TECH",
"Publish": "true"
}
}
}'
这将为我提供键的名称,“动作”和“数据”:
select [key]
from OPENJSON(@jsonString, '$')
这将为我提供数据“Accountable Inventory Technician...”下第一个键的值:
select *
from OPENJSON(@jsonString, '$.data')
我无法获得“行动”的价值。这不返回任何内容:
select *
from OPENJSON(@jsonString, 'lax $.action')
我无法通过 index 引用。这不返回任何内容:
select *
from OPENJSON(@jsonString, '$.data[0].PosTitle')
我究竟做错了什么?