解析 JSON 文本

JSON_VALUEJSON_QUERY 函数解析 JSON 文本并在 JSON 文本中的路径上返回标量值或对象/数组。

DECLARE @json NVARCHAR(100) = '{"id": 1, "user":{"name":"John"}, "skills":["C#","SQL"]}'

SELECT
    JSON_VALUE(@json, '$.id') AS Id,
    JSON_VALUE(@json, '$.user.name') AS Name,
    JSON_QUERY(@json, '$.user') AS UserObject,
    JSON_QUERY(@json, '$.skills') AS Skills,
    JSON_VALUE(@json, '$.skills[0]') AS Skill0

结果

ID 名称 UserObject 技能 Skill0
1 约翰 { 约翰} [ C#SQL] C#