2017-10-12 52 views
1

我有一个使用OPENJSON将json数据导入到表中的sql查询。我的问题是我需要的数据是嵌套的。如何在JSON路径中使用通配符获取我需要的?OpenJson使用通配符

SELECT @Set = 
BulkColumn FROM OPENROWSET 
(BULK 'Sets.json', DATA_SOURCE = 'MyAzureJson', SINGLE_BLOB) JSON; 

INSERT INTO [Sets] 
SELECT [name] 
FROM OPENJSON(@Set) 
WITH(
    [name]  nvarchar(50) '$.*.name' 
) 

我的JSON文件设置了这样的..

{ 
    "testOne" : { 
     name: "nameOne" 
    }, 
    "testTwo : { 
     name: "nameTwo" 
    } 
} 

错误,我的一切,我尝试让..

JSON路径的格式不正确。在位置2找到意外的字符'*'。

我试过了。 * []并没有任何作品

回答

-1

尝试..名称或$ ..名称。星号不是必需的。

+0

我试过两个,同样的错误 –

+0

它不能是相同的错误。原来的错误提到了星号:“JSON路径格式不正确,在位置2找到意外的字符'*'。” – marss