如何避免JSON中的Big Query嵌套日期值?

时间:2018-05-28 09:42:43

标签: google-bigquery

我正在使用带有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);
    });

1 个答案:

答案 0 :(得分:1)

此问题已通过将DATETIME对象强制转换为string来解决:

CAST(DATETIME(salesData.date_utc, "EST") as STRING) as DateEST