SQL Server OPENROWSET未提取JSON数据

SQL Server OPENROWSET未提取JSON数据,json,sql-server,Json,Sql Server,我正在尝试将JSON文件数据“WhiteListDorigins”保存在SQL表中,但我一直收到空条目。 我使用了相同的方法将属性导入到表中,虽然JSON的格式不同,但这种方法以前也有效 JSON SQL 结果 您需要在列定义中使用显式模式和作为JSON选项 如果要从JSON属性返回嵌套的JSON片段,可以 必须提供AS JSON标志。如果不使用此选项,则属性 找不到,OPENJSON返回空值,而不是 引用的JSON对象或数组,或者在 严格模式 声明: DECLARE @Json nvarcha

我正在尝试将JSON文件数据“WhiteListDorigins”保存在SQL表中,但我一直收到空条目。 我使用了相同的方法将属性导入到表中,虽然JSON的格式不同,但这种方法以前也有效

JSON

SQL

结果

您需要在列定义中使用显式模式和
作为JSON
选项

如果要从JSON属性返回嵌套的JSON片段,可以 必须提供AS JSON标志。如果不使用此选项,则属性 找不到,OPENJSON返回空值,而不是 引用的JSON对象或数组,或者在 严格模式

声明:

DECLARE @Json nvarchar(max) = N'{
"Client": {
"whiteListedOrigins": [
      "file://",
      "https://mobile.gtent.eu",
      "https://mobile.assists.co.uk",
      "https://valueadds3.active.eu",
      "https://flash3.active.eu",
      "https://valueadds3.assists.co.uk"
    ]
}
}'

SELECT *
FROM OPENJSON (@JSON, '$.Client') WITH ( 
   whiteListedOrigins nvarchar (MAX) AS JSON
)
输出:

--------------------
whiteListedOrigins
--------------------
[
      "file://",
      "https://mobile.gtent.eu",
      "https://mobile.assists.co.uk",
      "https://valueadds3.active.eu",
      "https://flash3.active.eu",
      "https://valueadds3.assists.co.uk"
    ]
注:


您的JSON(没有周围的
{
}
)无效。

您发布了确切的JSON吗?它的开头和结尾缺少花括号。@SalmanA这只是一个摘录。您添加的额外的
{}
大括号是最重要的部分,否则会出现SQL错误
JSON文本格式不正确。在位置0处发现意外字符“”。
@Always学习是的,谢谢,答案会用此便条更新。@Zhorov过去几天你真的帮了我的忙!谢谢你。@GrahamNorton很乐意帮忙。
DECLARE @Json nvarchar(max) = N'{
"Client": {
"whiteListedOrigins": [
      "file://",
      "https://mobile.gtent.eu",
      "https://mobile.assists.co.uk",
      "https://valueadds3.active.eu",
      "https://flash3.active.eu",
      "https://valueadds3.assists.co.uk"
    ]
}
}'

SELECT *
FROM OPENJSON (@JSON, '$.Client') WITH ( 
   whiteListedOrigins nvarchar (MAX) AS JSON
)
--------------------
whiteListedOrigins
--------------------
[
      "file://",
      "https://mobile.gtent.eu",
      "https://mobile.assists.co.uk",
      "https://valueadds3.active.eu",
      "https://flash3.active.eu",
      "https://valueadds3.assists.co.uk"
    ]