2017-10-12 66 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