从数组转换的json字符串中提取字段

艾米莉·威尔森

我正在使用bigquery SQL,我有一个数组,使用以下方法将其转换为json字符串:

TO_JSON_STRING(array)

这给了我一个看起来像这样的字段:

[{"Key":"helpId","Value":"abcd1234"},{"Key":"userid","Value":"abc123"},{"Key":"accountid","Value":"ab12"}]

我正在尝试使用以下方法提取密钥:

 JSON_EXTRACT(json_string, '$.Key')

但它总是返回null-为什么有任何想法?

Mikhail Berlyant:

以下是BigQuery标准SQL

#standardSQL
WITH `project.dataset.table` AS (
  SELECT '[{"Key":"helpId","Value":"abcd1234"},{"Key":"userid","Value":"abc123"},{"Key":"accountid","Value":"ab12"}]' json_string
)
SELECT 
  JSON_EXTRACT_SCALAR(kv, '$.Key') key, 
  JSON_EXTRACT_SCALAR(kv, '$.Value') value 
FROM `project.dataset.table`, 
UNNEST(JSON_EXTRACT_ARRAY(json_string)) kv   

带输出

Row key         value    
1   helpId      abcd1234     
2   userid      abc123   
3   accountid   ab12       

希望您可以轻松地将以上示例应用于您的特定用例

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章