【发布时间】:2017-12-25 05:32:00
【问题描述】:
如何查询以字符串形式存储在 bigquery 表中的 json?
我有一个表,其中列 (subscriptions) 中的值如下所示:
{
"data": [{
"application_fee_percent": null,
"canceled_at": null,
"created": 1500476240,
"items": {
"data": [{
"created": 1500476240,
"id": "s4nQMWJn4P1Lg",
"metadata": {},
"object": "subscription_item",
"plan": {
"amount": 3,
"created": 1494270926,
"currency": "usd",
"livemode": true,
"metadata": {
"currentlySelling": "true",
"features": "{\"shipping\": true,\"transactionFee\":0.00}",
"marketingFeatures": "[\"Unlimited products\"]"
},
"name": "Personal",
"object": "plan",
"statement_descriptor": null,
"trial_period_days": null
},
"quantity": 1
}],
"has_more": false,
"object": "list",
"total_count": 1,
"url": "/v1/subscri3XwjA3"
},
"livemode": true,
"metadata": {
"test": "596f735756976"
},
"object": "suion",
"quantity": 1
}],
"has_more": false,
"object": "list",
"total_count": 1,
"url": "/v1/cutions"
}
如何选择application_fee_percent、features 和marketingFeatures?
对于created,我试过了
JSON_EXTRACT("subscriptions", "$.data[0].created")
但它返回 null。
【问题讨论】:
-
部分问题是您共享的 JSON 无效(尝试将其粘贴到 jsonlint.com),因此除非有可能,否则无法使用
JSON_EXTRACT转录错误。 -
那是我的错。我有一个很大的价值,我试图让它更小,但我搞砸了。更新它,新的json是有效的。
标签: google-bigquery