我正在使用带有Big Query的标准SQL,一切正常,除了我的日期是嵌套结构,我不知道为什么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);
});
答案 0 :(得分:1)
此问题已通过将DATETIME
对象强制转换为string
来解决:
CAST(DATETIME(salesData.date_utc, "EST") as STRING) as DateEST