我有一个来自Firebase的JSON,如下所示:
{
'name' : 'starbyone',
'foo': {'id': 123},
'somebit': True,
'bar': {'_a': 123, '_b': 456}
}
我正在使用BigQuery并尝试使用JSON_EXTRACT
函数提取'foo':
SELECT
JSON_EXTRACT(json, "$.name") as Works,
JSON_EXTRACT(json, "$.foo") as AlsoWorks,
JSON_EXTRACT(json, "$.bar") as DoesNotWork
FROM schema.table
但是,问题是第三列(别名为DoesNotWork)只返回NULL,而'Foo'将返回字符串"{'id ':123} "
我还尝试了JSON_VALUE,但没有效果。
我哪里做错了?
这个简单的片段似乎对我也不起作用:
SELECT JSON_EXTRACT("{'category': 1, 'comments': [], 'free': False,'price': 55","$.price") AS Result
2条答案
按热度按时间ws51t4hk1#
使用
true
和false
代替True
或False
eyh26e7m2#
使用REPLACE、CAST和EXTRACT将其转换为小写的true/false,提取值,然后强制转换为布尔值。
假设
yourColumn
的形式如下所示,并且您需要field2
的布尔值。