假设我有一个JSON输入参数,名为
@ImageURL
在我的过程中,使用以下用于存储和操作上载程序部分的结构。
[
{
"Title": "some title",
"Urls": "some url",
"Type": "application/pdf",
"IsPrimary": true
},
...
]
这个JSON字符串总是有多组标题、URL等。但在某些情况下,我坚持检查它是否只包含一组,因为我无法确定前端开发人员是否会以正确的格式为我发送JSON。
为了检查这一点,我使用了下面的代码,这似乎是可行的,但我觉得它不干净,可能有更好的方法来编写它,而不是创建一个TMP表并检查它的
COUNT
.
DECLARE @JSONImageFile TABLE(
Level1ID INT,
JSONImageFile NVARCHAR(MAX),
JSONImageFileTitle NVARCHAR(1000),
JSONImageFileType NVARCHAR(100),
JSONImageFileIsPrimary BIT
)
INSERT INTO @JSONImageFile(
Level1ID,
JSONImageFile,
JSONImageFileTitle,
JSONImageFileType,
JSONImageFileIsPrimary
)
SELECT
@Level1ID,
Urls,
Title,
Type,
IsPrimary
FROM OPENJSON(@ImageURL) WITH (
Urls NVARCHAR(MAX),
Title NVARCHAR(1000),
Type NVARCHAR(100),
IsPrimary BIT
)
IF (SELECT COUNT(*) FROM @JSONImageFile) = 1 /* the main code */
提前感谢您的回答。