MSSQL支持JSON:打开新的数据存取模式

介绍

随着移动设备和应用程序的不断发展,越来越多的应用程序需要处理JSON格式的数据。JSON(JavaScript对象表示法)是一种轻量级的数据交换格式。在过去,关系型数据库一直在支持XML处理,但对于JSON,使用起来则不够便捷。对于使用JSON格式存储和处理数据的开发人员来说,这可能需要建立一个中间层,以将数据转换为SQL语句或可处理的XML格式。

现在,Microsoft SQL Server 2016支持JSON,这使开发人员能够使用方便简洁的语法轻松执行JSON数据的存储和解析。

如何使用JSON in MSSQL

1.创建JSON

创建JSON对象非常简单。 JSON对象是由花括号中的键和值对列表组成的。每个键均为字符串,值可以是任何JSON类型(即字符串,数字,对象,数组等)。

DECLARE @json NVARCHAR(MAX)

SET @json = N'{

"firstName": "John",

"lastName": "Smith",

"isAlive": true,

"age": 25,

"address": {

"streetAddress": "21 2nd Street",

"city": "New York",

"state": "NY",

"postalCode": "10021-3100"

},

"phoneNumbers": [

{

"type": "home",

"number": "212 555-1234"

},

{

"type": "office",

"number": "646 555-4567"

}

],

"spouse": null

}'

2.查询JSON

在SQL Server中查询JSON数据的语法非常简单,使用OPENJSON函数即可。 OPENJSON() 函数读取JSON值,并以适当的格式拆分为行和列。 此函数为JSON数据数组提供对元素的访问,并返回表格式的输出。

DECLARE @json NVARCHAR(MAX)

SET @json = N'{

"firstName": "John",

"lastName": "Smith",

"isAlive": true,

"age": 25,

"address": {

"streetAddress": "21 2nd Street",

"city": "New York",

"state": "NY",

"postalCode": "10021-3100"

},

"phoneNumbers": [

{

"type": "home",

"number": "212 555-1234"

},

{

"type": "office",

"number": "646 555-4567"

}

],

"spouse": null

}'

SELECT *

FROM OPENJSON(@json)

WITH (firstName VARCHAR(100), lastName VARCHAR(100), age INT,

address VARCHAR(200) '$.address.streetAddress',

city VARCHAR(100) '$.address.city',

state CHAR(2) '$.address.state',

zipCode VARCHAR(10) '$.address.postalCode',

homePhone VARCHAR(20) '$.phoneNumbers[0].number',

officePhone VARCHAR(20) '$.phoneNumbers[1].number',

spouse VARCHAR(100) '$.spouse');

3.更新JSON

在SQL Server中,UPDATE查询可以通过在更新查询中使用JSON API来更新JSON对象的属性或元素。

DECLARE @json NVARCHAR(MAX)

SET @json = N'{

"firstName": "John",

"lastName": "Smith",

"isAlive": true,

"age": 25,

"address": {

"streetAddress": "21 2nd Street",

"city": "New York",

"state": "NY",

"postalCode": "10021-3100"

},

"phoneNumbers": [

{

"type": "home",

"number": "212 555-1234"

},

{

"type": "office",

"number": "646 555-4567"

}

],

"spouse": null

}'

SET @json = JSON_MODIFY(@json, '$.age', 26)

SELECT @json

总结

Microsoft SQL Server 2016的JSON支持为开发人员提供了方便快捷的方法来存储和处理JSON格式数据。 SQL Server的JSON API非常易于使用,并且使用它可以轻松地将现有的JSON应用程序与SQL Server集成在一起。如果您想要探索SQL Server的JSON支持,请尝试使用我们提供的示例代码和建议,以便开始构建在JSON中存储数据的SQL Server应用程序。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签