google-bigquery - 如何避免 Big Query 在 JSON 中嵌套日期值?
问题描述
我将标准 SQL 与 Big Query 一起使用,一切正常,但我的日期是嵌套结构,我不知道 Big Query 为什么要这样做。
这是我的查询:
SELECT
DATETIME(salesData.date_utc, "EST") AS DateEST,
salesData.serial_no AS MachineID
FROM
sales.sales_all AS salesData
WHERE salesData.date_utc > "2018-05-26T05:00:00" AND salesData.date_utc
< "2018-05-27T04:59:59"
ORDER BY salesData.date_utc DESC
当我将结果下载为 JSON 时,一切都很好:
{"DateEST":"2018-05-26T23:57:58","MachineID":"1708FB0000009-B"}
{"DateEST":"2018-05-26T23:52:07","MachineID":"1710FB0000034-B"}
但是,如果我使用 Google Cloud Functions 并提取数据,则会生成嵌套的 JSON。
[
{
"DateEST": {
"value": "2018-05-26T23:57:58"
},
"MachineID": "1708FB0000009-B"
}, ...
这是我的云函数代码的一部分:
const options = {
query: sqlQuery,
useLegacySql: false, // Use standard SQL syntax for queries.
};
bigquery
.query(options)
.then(results => {
const rows = results[0];
response.json(rows);
})
.catch(err => {
console.error('ERROR:', err);
response.send(500);
});
解决方案
通过将DATETIME
对象转换为string
:
CAST(DATETIME(salesData.date_utc, "EST") as STRING) as DateEST
推荐阅读
- swift - 如果标签是有条件的,NavigationLink 不起作用
- javascript - Laravel 路由器返回错误 500 internal-server-error
- node.js - 处理 NodeJS 控制器中的多个错误检查
- excel - 在文件名中使用日期变量
- c - 在整数的单循环链表中插入第 n 个位置的问题
- python - 计算熊猫系列中的特定值
- ios - Alamofire 和 Digest-Auth
- user-interface - Flutter tabBar 如何从顶部变为底部
- css - CSS在flexbox容器中用边距包装项目,固定高度溢出到顶部
- oracle-apex - 如何将报告直接发送到打印机?