我在 AWS Redshift 中有一个表,其中有一列名为 json,它将嵌套的 JSON 对象存储为字符串。我需要创建一个包含三列的新表:sid、skill_name 和 Skill_vdd。 json 列在关键行下包含一个嵌套的 JSON 数组,我想从该数组中提取值。
这是 json 列中的示例 JSON:
{
"Id": 888,
"Command": "uuuu",
"step": "rows": [
{"sid": 1515, "skill_name": "jjjj", "skill_vdd": 9999},
{"sid": 333, "skill_name": "ttt", "skill_vdd": 333}
]
}
我尝试过使用各种 redshift json 函数,但我无法展平 json
如何展平此嵌套 JSON 并从 Redshift 中的 json 列创建一个包含以下列的表:sid、skill_name、skill_vdd?
我假设该列的所有条目在其数组“行”中不仅仅有 2 个值。 在这种情况下,您需要将此数据 json_parse() 转换为 SUPER 数据类型,然后“取消嵌套”这些数组值。 AWS 这里有一个关于取消嵌套的很好的页面 - https://docs.aws.amazon.com/redshift/latest/dg/query-super.html
这个问题出现了很多次,我之前已经在这里回答过 - UNNEST Redshift 中的超级数据
如果您需要帮助才能使其正常工作,请再次联系并显示您目前拥有的代码。