[英]JSON Parse in Snowflake SQL
我正在嘗試使用雪花中的 SQL 將原始 json 轉換為以下所需的結果。 我怎樣才能做到這一點?
我試過 parse_json(newFutureAllocations[0]:fundId) 但這只會帶回第一個 fundId 元素。
原始“newFutureAllocations”:[{“fundId”:1,“percentAllocation”:2500},{“fundId”:5,“percentAllocation”:7500}]
所需的“新未來分配”:{“1”:2500,“5”:7500}
您需要使用flatten
將數組元素轉換為行,然后使用object_agg()
將它們再次聚合,作為對象而不是數組。 確切的語法取決於您的查詢、數據等的其余部分,您還沒有提供足夠的詳細信息。
這里的挑戰是重新構造對象,我使用了字符串連接:
with data as (
select parse_json(
'[ { "fundId": 1, "percentAllocation": 2500 }
, { "fundId": 5, "percentAllocation": 7500 } ]') j
)
select parse_json('{'||
listagg('"'||x.value:fundId ||'"'||':'|| x.value:percentAllocation, ',')
||'}')
from data, table(flatten(j)) x
group by seq
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.