变体列用逗号分隔文件中的 json 个值?

Variant column separate json values in file by comma?

这是一个基本问题,我试图将一个变体行分成多列并且 运行 出现错误。

Create or replace table App_versions(data variant); 

CREATE or Replace FILE FORMAT x_json
   TYPE = "JSON"
   COMPRESSION = "GZIP"
   FILE_EXTENSION= 'json.gz'

COPY INTO App_versions
   FROM @~/staged 
   file_format = 'x_json'
   on_error = 'skip_file';
   
 list @~;
 
 SELECT * FROM App_versions limit 10;
 
Select data:available,value::boolean as avail, data:color.value::string as col, data:name.value::string as title, data:version.value::float as version from App_versions;


Data Stored in Column

[
  {
    "available": false,
    "color": "Indigo",
    "name": "Bigtax",
    "version": "2.2.9"
  },
  {
    "available": false,
    "color": "Khaki",
    "name": "Solarbreeze",
    "version": "7.00"
  }
  ]

而我运行进入的列全部为Null值。我究竟做错了什么? 我基于:https://support.snowflake.net/s/article/json-data-parsing-in-snowflake

如果您希望每个 { ... } 对象都位于其自己的行中,请使用 STRIP_OUTER_ARRAY = TRUE 文件格式选项。或者您可以在加载后即时 FLATTEN() 数据。要在不展平的情况下访问单行中的多个对象,您必须包含一个索引来指定您想要的对象——例如... select data[0].available::boolean as avail ....