Json 列的值
Json values to columns
我是大查询的新手,我正在尝试将 json 值的行解析为列,单行中的json 值如下所示
{
"event_params": [{
"key": "entrances",
"value": {
"string_value": null,
"int_value": "1",
"float_value": null,
"double_value": null
}
}, {
"key": "ga_session_id",
"value": {
"string_value": null,
"int_value": "1647758422",
"float_value": null,
"double_value": null
}
}, {
"key": "firebase_screen_class",
"value": {
"string_value": "Home",
"int_value": null,
"float_value": null,
"double_value": null
}
}, {
"key": "firebase_event_origin",
"value": {
"string_value": "auto",
"int_value": null,
"float_value": null,
"double_value": null
}
}, {
"key": "ga_session_number",
"value": {
"string_value": null,
"int_value": "775",
"float_value": null,
"double_value": null
}
}, {
"key": "firebase_screen_id",
"value": {
"string_value": null,
"int_value": "4463573641295231098",
"float_value": null,
"double_value": null
}
}]
}
我不知道如何解析列中的每一行,
我希望 table 看起来像这样
钥匙 |价值 | string_value |int_value |float_value | double_value |
有办法吗? , 谢谢
假设您的 json 对象在一列中,您可以使用 json 函数 json_extract_array
结合 unnest 将数组的所有元素作为一行。之后,由你选择另一个json function来提取数组每个元素的值。
select
json_value(events, "$.key") as key,
json_value(events, "$.value.string_value") as string_value,
json_value(events, "$.value.int_value") as int_value,
.
.
.
from
example, unnest(json_extract_array(json_payload_col, "$.event_params")) as events
我是大查询的新手,我正在尝试将 json 值的行解析为列,单行中的json 值如下所示
{
"event_params": [{
"key": "entrances",
"value": {
"string_value": null,
"int_value": "1",
"float_value": null,
"double_value": null
}
}, {
"key": "ga_session_id",
"value": {
"string_value": null,
"int_value": "1647758422",
"float_value": null,
"double_value": null
}
}, {
"key": "firebase_screen_class",
"value": {
"string_value": "Home",
"int_value": null,
"float_value": null,
"double_value": null
}
}, {
"key": "firebase_event_origin",
"value": {
"string_value": "auto",
"int_value": null,
"float_value": null,
"double_value": null
}
}, {
"key": "ga_session_number",
"value": {
"string_value": null,
"int_value": "775",
"float_value": null,
"double_value": null
}
}, {
"key": "firebase_screen_id",
"value": {
"string_value": null,
"int_value": "4463573641295231098",
"float_value": null,
"double_value": null
}
}]
}
我不知道如何解析列中的每一行,
我希望 table 看起来像这样
钥匙 |价值 | string_value |int_value |float_value | double_value |
有办法吗? , 谢谢
假设您的 json 对象在一列中,您可以使用 json 函数 json_extract_array
结合 unnest 将数组的所有元素作为一行。之后,由你选择另一个json function来提取数组每个元素的值。
select
json_value(events, "$.key") as key,
json_value(events, "$.value.string_value") as string_value,
json_value(events, "$.value.int_value") as int_value,
.
.
.
from
example, unnest(json_extract_array(json_payload_col, "$.event_params")) as events