簡體   English   中英

從 SQL Server 2016 中的 JSON 數組中獲取鍵和值

[英]Getting the Keys and Values from a JSON array in SQL Server 2016

在 SQL Server 2016 中的一個過程中工作,並在 nvarchar 變量中傳遞了一個 JSON 對象。 變量看起來像這樣

'{"and":[{"agentId":1},{"status":"In Progress"},{"or":[{"who":{"like":"%Alex%"}}, {"status":"已關閉"}]}]}'

我需要把它放到這樣的桌子上

所需的表輸出

SELECT x.[Key], x.[Value] 
FROM OPENJSON(@whereString, '$') AS x;

這一直有效,直到它到達嵌入式數組。 我不會提前知道鍵名,所以我認為這會處理 JSON_Value 和 JSON_Query

我做錯了,讓它變得比我需要的要困難得多。

使用查詢:

SELECT  x.[key] as keyString, x.[Value] as valueString FROM OPENJSON(@JSONString, '$') AS x

會給我上層的鍵和值到一個臨時表中。 然后,如果該行的鍵值為 'and' 或 'or'(這些鍵值將具有數組作為 valueString),我可以僅使用該行的 valueString 遞歸調用相同的 SQL,它將很好地將它們分開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM