【问题标题】:Read Json from firebase to Google graph将 Json 从 firebase 读取到 Google graph
【发布时间】:2016-02-04 08:26:47
【问题描述】:

我有一个来自 firebase 的 json 文件,它给出了 2 个主要标题 AB 和 AC

现在我想在 highcharts 中显示这些值,但我在级联 json 时遇到了问题。

我知道我已经阅读了很多类似的问题。

{
  AB: {
    BattLevel: {},
    temperature: {
      -K9XTKDOM-SlhChO8mla: {
        date: "02/02/2016",
        time: "15:53:23",
        value: "009.4"
      }
    },
AC: {
    BattLevel: {},
    temperature: {
      -K9XR29RmWhy0bt353uf: {
        date: "02/02/2016",
       time: "15:43:26",
        value: "008.2"
    },

这是填充谷歌图表的一段代码。

                var data = new google.visualization.DataTable();

            data.addColumn('datetime', 'Tijd');
            data.addColumn('number', 'kotje');
            data.addColumn('number', 'buiten');

            $.each(results, function (i, row) {
                data.addRow([
                    (new Date(row.date)),
                    parseFloat(row.value),   <--- here i should get to AB
                    parseFloat(row.value)    <--- here i should get to AC
                ]);
            });

【问题讨论】:

    标签: javascript json firebase


    【解决方案1】:

    您需要浏览 JSON。

    Object.keys(results).forEach(function(key) {
      var row = results[key];
      var temperatures = row.temperature;
      Object.keys(temperatures).forEach(function(tempKey) {
        var temperature = temperatures[tempKey];
        console.log(temperature.date + ' ' + temperature.value);
      });
    });
    

    可能有更简单的方法,但这个方法有效并且只使用纯 JavaScript 结构。

    var results = {
      AB: {
        BattLevel: {},
        temperature: {
          "-K9XTKDOM-SlhChO8mla": {
            date: "02/02/2016",
            time: "15:53:23",
            value: "009.4"
          }
        }
      },
      AC: {
        BattLevel: {},
        temperature: {
          "-K9XR29RmWhy0bt353uf": {
            date: "02/02/2016",
            time: "15:43:26",
            value: "008.2"
          }
        }
      }
    };
    
    var output = document.getElementById('output');
      
    Object.keys(results).forEach(function(key) {
      var row = results[key];
      var temperatures = row.temperature;
      Object.keys(temperatures).forEach(function(tempKey) {
        var temperature = temperatures[tempKey];
        output.textContent += temperature.date + ' ' + temperature.value + '\n';
      });
    });
    &lt;pre id='output'&gt;&lt;/pre&gt;

    【讨论】:

    • 谢谢,但我意识到这并不能解决我遇到的图形问题。我会发布一个新问题。
    猜你喜欢
    • 2019-03-11
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    相关资源
    最近更新 更多