create table #a
(
json varchar(200)
)
insert into #a values('{"name":"test","sex":"男"}')
--判断是否是json,如果不判断直接使用json_value提取则会报错
select isjson(json) from #a
--如果不加判断格式正常的时候可以解析
select json_value(json,'$.name') from #a
insert into #a values('{name":"test","sex":"男"}')
--如果格式不正常则解析失败异常解析:JSON 文本格式不正确。位置 0 中存在非预期的字符
--select json_value(json,'$.name') from #a
--所以使用json_value前先判断内容是否为json
select json,isjson(json),case when isjson(json)=1 then json_value(json,'$.name') else '' end from #a
sqlserver解析json
于 2022-11-18 11:04:45 首次发布