将带有 Varchar 列的 table 转换为 Snowflake 中的自定义 JSON
Converting table with Varchar columns to custom JSON in Snowflake
我有一个 table 具有以下数据
START_DATE
NAME
ID
01/18/2022
JOHN
10
01/19/2022
ADAM
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 转换中使用自定义字段名称。
根据给定的数据重命名对象名称并将 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;
我有一个 table 具有以下数据
START_DATE | NAME | ID |
---|---|---|
01/18/2022 | JOHN | 10 |
01/19/2022 | ADAM | 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 转换中使用自定义字段名称。
根据给定的数据重命名对象名称并将 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;