我有一个 JSON 数组,如下所示:
此 Json 数据位于 col1
中名为 my_table
的字段中
{
"JSON_DATA": {
"ID": 1,
"j_array": ["A","B"]
}
}
这是我解析 JSON 数组的 SQL:
SELECT col1:"JSON_DATA"."ID" as id,
v.value as j_array_values
from my_table, lateral flatten(input => col1."JSON_DATA"."j_array") v
我的输出是
|-------------|-----------------|
| ID | j_array_values |
|-------------|-----------------|
| 1 | ["A","B"] |
|-------------|-----------------|
| 1 | ["A","B"] |
|-------------------------------|
但我希望输出像
|-------------|-----------------|
| ID | j_array_values |
|-------------|-----------------|
| 1 | "A" |
|-------------|-----------------|
| 1 | "B" |
|-------------------------------|
我用过横向展平,但没用
答案 0 :(得分:1)
使用 ApplicationExitInfo.REASON_ANR
:
FLATTEN
输出:
CREATE OR REPLACE TABLE my_table AS
SELECT PARSE_JSON('{"JSON_DATA": {
"ID": 1,
"j_array": ["A","B"]
}
}') AS col1;
SELECT col1:JSON_DATA:ID::INT AS id,
v.value::STRING AS j_array_values
FROM my_table, lateral flatten(input => col1:JSON_DATA:j_array) v;