首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

BigQuery - JSON_EXTRACT仅提取第一个条目

在 Google BigQuery 中,JSON_EXTRACT 函数用于从 JSON 字符串中提取数据。如果你只想提取 JSON 数组中的第一个条目,可以使用 JSON_EXTRACT 函数结合 JSONPath 表达式来实现。

假设你有一个包含 JSON 数据的表 my_table,其中有一列 json_column 存储了 JSON 字符串。以下是一个示例 JSON 数据:

代码语言:javascript
复制
{
  "items": [
    {"id": 1, "name": "Item 1"},
    {"id": 2, "name": "Item 2"},
    {"id": 3, "name": "Item 3"}
  ]
}

提取第一个条目

要提取 JSON 数组 items 中的第一个条目,可以使用以下 SQL 查询:

代码语言:javascript
复制
SELECT
  JSON_EXTRACT(json_column, '$.items[0]') AS first_item
FROM
  my_table;

在这个查询中,$.items[0] 是 JSONPath 表达式,用于选择 items 数组中的第一个元素。

提取第一个条目的特定字段

如果你只想提取第一个条目中的特定字段,例如 name 字段,可以使用以下查询:

代码语言:javascript
复制
SELECT
  JSON_EXTRACT_SCALAR(json_column, '$.items[0].name') AS first_item_name
FROM
  my_table;

在这个查询中,$.items[0].name 是 JSONPath 表达式,用于选择 items 数组中第一个元素的 name 字段。JSON_EXTRACT_SCALAR 函数用于提取标量值(如字符串、数字等)。

示例数据和查询

假设你的表 my_table 中有以下数据:

json_column

{"items": [{"id": 1, "name": "Item 1"}, {"id": 2, "name": "Item 2"}, {"id": 3, "name": "Item 3"}]}

运行以下查询:

代码语言:javascript
复制
SELECT
  JSON_EXTRACT(json_column, '$.items[0]') AS first_item,
  JSON_EXTRACT_SCALAR(json_column, '$.items[0].name') AS first_item_name
FROM
  my_table;

结果将是:

first_item

first_item_name

{"id": 1, "name": "Item 1"}

Item 1

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券