JSON是一個(gè)非常流行的,用于數(shù)據(jù)交換的文本數(shù)據(jù)(textual data)格式,主要用于Web和移動(dòng)應(yīng)用程序中。JSON 使用“鍵/值對(duì)”(Key:Value pair)存儲(chǔ)數(shù)據(jù),能夠表示嵌套鍵值對(duì)和數(shù)組兩種復(fù)雜數(shù)據(jù)類(lèi)型,JSON僅僅使用逗號(hào)(引用Key)和中括號(hào)(引用數(shù)組元素),就能路由到指定的屬性或成員,使用簡(jiǎn)單,功能強(qiáng)大。在SQL Server 2016版本中支持JSON格式,使用Unicode字符類(lèi)型表示JSON數(shù)據(jù),并能對(duì)JSON數(shù)據(jù)進(jìn)行驗(yàn)證,查詢(xún)和修改。推薦一款JSON驗(yàn)證和格式化的在線(xiàn)工具:json formatter。
SQL Server 提供了內(nèi)置函數(shù),用于查詢(xún)和更新JSON數(shù)據(jù),分析JSON文本,如圖:
一,定義和驗(yàn)證JSON數(shù)據(jù)
使用nvarchar存儲(chǔ)JSON文本數(shù)據(jù),通過(guò)函數(shù) ISJSON(expression) 驗(yàn)證JSON數(shù)據(jù)是否有效。
declare @json nvarchar(max) set @json = N'{ "info":{ "type":1, "address":{ "town":"bristol", "county":"avon", "country":"england" }, "tags":["sport", "water polo"] }, "type":"basic" }' select isjson(@json)