使用变量创建 JSON 字符串
Create JSON string using variable
我正在尝试获取以下 JSON 字符串:
[{
"Name": "John",
"AccountType": 1
},
{
"Name": "Steven",
"AccountType": 1
}
]
我知道 AccountType 将始终为 1,并且我有以下格式的字符串变量“John;Steven;Brian;Mike”
我尝试使用 XML PATH 和 splitToTable 函数构建此 JSON,但没有成功。我怎样才能实现它?
提前致谢。
您可以使用 string_split()
和 for json
:
declare @str nvarchar(max) = 'John;Steven;Brian;Mike';
select *
from (
select value as [Name], 1 as [AccountType]
from string_split(@str, ',')
) t
for json auto;
在 SQL Server 2016 中,Microsoft 添加了一些有用的 JSON 功能。所以这很容易实现:
DECLARE @Variable nvarchar(max) = 'John;Steven;Brian;Mike';
SELECT [value] as Name, 1 as AccountType FROM STRING_SPLIT(@Variable,';')
FOR JSON PATH
有关此功能的更多信息,请点击此处 - https://docs.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-ver15
我正在尝试获取以下 JSON 字符串:
[{
"Name": "John",
"AccountType": 1
},
{
"Name": "Steven",
"AccountType": 1
}
]
我知道 AccountType 将始终为 1,并且我有以下格式的字符串变量“John;Steven;Brian;Mike”
我尝试使用 XML PATH 和 splitToTable 函数构建此 JSON,但没有成功。我怎样才能实现它?
提前致谢。
您可以使用 string_split()
和 for json
:
declare @str nvarchar(max) = 'John;Steven;Brian;Mike';
select *
from (
select value as [Name], 1 as [AccountType]
from string_split(@str, ',')
) t
for json auto;
在 SQL Server 2016 中,Microsoft 添加了一些有用的 JSON 功能。所以这很容易实现:
DECLARE @Variable nvarchar(max) = 'John;Steven;Brian;Mike';
SELECT [value] as Name, 1 as AccountType FROM STRING_SPLIT(@Variable,';')
FOR JSON PATH
有关此功能的更多信息,请点击此处 - https://docs.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-ver15