小编hyp*_*gia的帖子

循环遍历 SQL Server 中的对象数组并出现错误:JSON 文本格式不正确

我正在尝试遍历 JSON 对象 @files 中的对象数组,并将数组中的每个对象插入到表中,但出现此错误:

JSON 文本格式不正确。意外字符 '.' 在位置 0 处找到。

JSON 使用 JSONLint 是有效的,所以我知道它不是我声明的对象,除非我错了。选择错误时,它会在 OPENJSON WITH() 语句中突出显示这一点:

file_name NVARCHAR(100) '$.fileName',

ALTER PROCEDURE files_uploadAll
    @document_id INT OUTPUT,
    @files NVARCHAR(MAX)

/*
DECLARE @document_id INT
DECLARE @files NVARCHAR(MAX) = N'{  
      "files": [
      {  
            "noteId": 1,
            "documentTitle": "doc1",
            "fileName": "doc1.pdf",
            "fileExtension": "pdf",
            "mimeType": "application/pdf",
            "documentTypeCd": "MSA",
            "userId": 1,
            "url": "http://www.url.com"
       },
       {  
            "noteId": 2,
            "documentTitle": "doc2",
            "fileName": "doc2.doc",
            "fileExtension": "doc",
            "mimeType": "application/msword",
            "documentTypeCd": "MSA",
            "userId": 1,
            "url": "http://www.url.com"
       }
    ]           
 }';
 EXECUTE files_uploadAll …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server arrays json ssms

3
推荐指数
1
解决办法
5906
查看次数

标签 统计

arrays ×1

json ×1

sql-server ×1

ssms ×1

t-sql ×1