Google bigquery 当元素是BigQuery StandardSql中的对象时,如何计算数组中的元素数

Google bigquery 当元素是BigQuery StandardSql中的对象时,如何计算数组中的元素数,google-bigquery,bigquery-standard-sql,Google Bigquery,Bigquery Standard Sql,我有下面的json { "CustomerId": "B0001", "Items": [ { "ItemId": "00001", "ItemName": "Banana" }, { "ItemId": "00001", "ItemName": "Orange" }, { "ItemId": "00001", "ItemName": "apple" } ] }

我有下面的json

{
  "CustomerId": "B0001",
  "Items": [
    {
      "ItemId": "00001",
      "ItemName": "Banana"
    },
    {
      "ItemId": "00001",
      "ItemName": "Orange"
    },
    {
      "ItemId": "00001",
      "ItemName": "apple"
    }
  ]
}
我想数一数,在这种情况下,列应该返回3 我试过了

select ARRAY_LENGTH(Items) as Number_of_items2 

但这显然会在bigquery上引发错误,假设它实际存储为JSON字符串,您可以尝试:

select ARRAY_LENGTH(SPLIT(Items, '},')) as Number_of_items2
FROM dataset.table

这取决于JSON的特定格式,但如果需要更高级的处理逻辑,可以使用。

假设它实际存储为JSON字符串,可以尝试:

select ARRAY_LENGTH(SPLIT(Items, '},')) as Number_of_items2
FROM dataset.table
这取决于JSON的特定格式,但如果需要更高级的处理逻辑,可以使用