首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:类型错配。值[00,00,00]不匹配一天的时间类型。

问错误:类型错配。值[00,00,00]不匹配一天的时间类型。
EN

Stack Overflow用户
提问于 2017-12-28 06:48:53
回答 1查看 1.3K关注 0票数 0

我想从MySQL数据创建一个google线图,它是json格式的。JSON数据采用以下格式:

代码语言:javascript
复制
{
    "result": [
        {
            "Date": "Dec 17,2017",
            "start_time": "22,08,17",
            "selected_time": "[00,00,00]"
        },
        {
            "Date": "Dec 18,2017",
            "start_time": "21,48,57",
            "selected_time": "[00,00,00]"
        },
        {
            "Date": "Dec 21,2017",
            "start_time": "13,23,05",
            "selected_time": "[00,00,00]"
        },
        {
            "Date": "Dec 22,2017",
            "start_time": "00,13,33",
            "selected_time": "[00,00,00]"
        },
        {
            "Date": "Dec 23,2017",
            "start_time": "14,48,34",
            "selected_time": "[00,00,00]"
        },
        {
            "Date": "Dec 27,2017",
            "start_time": "19,21,34",
            "selected_time": "[00,00,00]"
        }
    ]
}

下面是我正在做的事情的代码。但是它不接受start_time和selected_time值作为不匹配的错误。对于mysql db中的所有这些字段,我都有varchar数据类型。

代码语言:javascript
复制
function callbackFuncWithData(json){   

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

data.addColumn('string', 'Date');
data.addColumn('timeofday', 'start_time');
data.addColumn('timeofday', 'selected_time');

$.each(json, function (key, value) {
$.each(value, function (key, value) {
var temp = [];
temp = value;
                    alert([temp['Date']+" "+temp['start_time']+" "+temp['selected_time']]);
data.addRows([
[ temp['Date'],temp['start_time'],temp['selected_time']]
]);
});
});
var options = {
        tooltip: {
            isHtml: true
        },
        title: 'Trendlines with multiple lines',
        hAxis: {
            title: 'Date',

        },
         vAxis: {
            title: 'Time'

        },
        pointSize: 5,
          series: {
                0: { pointShape: 'circle' },

            }

        };
var chart = new google.visualization.LineChart(document.getElementById('multipleTrendChart'));
   chart.draw(data, options);
    }
        }).fail(function (jq, text, err) {
        console.log(text + ' - ' + err);
            });
        }  
        </script>
    </head>
    <body>
        <div id="multipleTrendChart"></div>
    </body>
    </html>

但是它显示了这个错误“错误:类型不匹配。值22,08,17与列索引1中的时间类型不匹配”。有人请给我建议一下有什么问题吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-12-30 17:59:44

如果您更改了json的格式,它应该如下所示,

没有引号包围'timeofday'的数组

代码语言:javascript
复制
    {
        "Date": "Dec 17,2017",
        "start_time": [22,08,17],
        "selected_time": [00,00,00]
    },

否则,您可以使用以下方法转换为数组.

代码语言:javascript
复制
$.each(json, function (key, value) {
  data.addRow([
    value.Date,
    value.start_time.split(','),
    JSON.parse(value.selected_time)
  ]);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48002895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档