我有一個包含以下資料的表
| 開始日期 | 名稱 | ID |
|---|---|---|
| 2022 年 1 月 18 日 | 約翰 | 10 |
| 2022 年 1 月 19 日 | 亞當 | 20 |
我正在嘗試以如下自定義格式將其轉換為 JSON -
{
"labels":{
"name":"JOHN",
"id":[10]
}
"values":{
"startDate":"01/18/2022"
}
}
PARSE_JSON 方式
SELECT parse_json('{"values": {startDate: A.STARTDATE}}')
FROM TABLE_A A;
導致錯誤
Error parsing JSON: unknown keyword "A", pos 25
OBJECT_CONSTRUCT 導致將列名轉換為鍵,將列值轉換為值。
請告知如何在 Snowflake 的 JSON 轉換中使用自定義欄位名稱。
uj5u.com熱心網友回復:
根據給定的資料重命名物件名稱并將 Id 更改為陣列:
create table test1 values(START_DATE date, NAME string,ID number);
insert into test1(START_DATE, NAME,ID ) values('01/18/2022','JOHN', 10);
insert into test1(START_DATE, NAME,ID ) values('01/19/2022','ADAM', 20);
Select
OBJECT_CONSTRUCT('ID',id::array,'NAME',name) as label_obj,
OBJECT_CONSTRUCT(
'start_date',
START_DATE::string) as start_dt_obj,
object_insert(object_construct('labels', label_obj), 'values', start_dt_obj) as final_json
from
Test1;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/416649.html
標籤:
上一篇:將回應文本決議為json物件
下一篇:為什么專案組得到鍵而不是值?
