标签:javascript perl json google-visualization
我有一个小舞者应用程序,它提供一些HTML(包括调用谷歌图表API的javascript)和其他URL查询数据库,并以您可以传递给google.visualization.DataTable的形式返回编码JSON中的数据. javascript在舞者应用程序中查询JSON数据,然后将其传递到google图表API中 – 简化版本为:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
google.load('visualization', '1.0', {'packages':['corechart']});
google.setOnLoadCallback(initialize);
function initialize() {
var res = $.ajax({
url: "/data/2",
dataType:"json",
async: false,
data: "{}",
contentType: "application/json",
error: function(jqXHR, textStatus, errorThrown) {
alert('textStatus ' + textStatus);
alert('errorThrown ' + errorThrown);
}
});
jsonData = res.responseText;
var data = new google.visualization.DataTable(jsonData);
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, {width: 400, height: 240});
}
</script>
问题是Perl返回的一些数据包含日期/时间戳,所以应该将类型设置为“datetime”:
{"rows":[{"c":[{"v":"WHAT_CAN_I_PUT_HERE"},{"v":"2095"}]}],"cols":[{"type":"datetime","label":"DTU"},{"type":"number","label":"COUNT"}]}
在Javascript中,您可以使用以下命令创建传递给Google图表API的日期:
new Date(2012, 1, 08, 09, 32, 0)
如何从Perl发送以JSON编码的日期,以便谷歌图表API能够理解它?如果你不能为我提供其他选择?
解决方法:
JSON不支持将datetime作为数据类型.但根据Google的文档,您只需发送一个包含以下格式的字符串:
JSON does not support JavaScript Date values (for example, “new Date(2008,1,28,0,31,26)”; the API implementation does. However, the API does now support a custom valid JSON representation of dates as a string in the following format: Date(year, month, day[,hour, minute, second[, millisecond]]) where everything after day is optional, and months are zero-based.
Google Chart Tools Datasource Protocol
标签:javascript,perl,json,google-visualization 来源: https://codeday.me/bug/20191008/1870227.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。