欢迎大家来到IT世界,在知识的湖畔探索吧!
最近在做一个小项目,使用到Highcharts展示图表,其中通过ajax来异步获取json数据。在此期间,遇到了几个问题,今天总结一下分享给大家。
首先,准备json数据源。我用的php进行后台程序开发,从mysql数据库读取数据。通过json_encode()函数对数据进行JSON编码,中文出现乱码问题。这是因为json_encode()只支持UTF-8编码,所以使用内置的JSON_UNESCAPED_UNICODE选项逃过编码,json_encode($result,JSON_UNESCAPED_UNICODE)。
其次,ajax 的$.getJSON(url, function(data) {}函数获取php中get请求发送的json对象。json对象包括两种:{“key”:”value”}形式的键值对和[{“key”:”value”},{“key”:”value”},{},{}]数组形式。
问题1:获取json数据长度问题。{“key”:”value”}形式的的json对象不能直接调用length函数获取长度。
function getJsonLength(jsonData){
var jsonLength = 0;
for(var item in jsonData){
jsonLength++;
}
return jsonLength;
}
[{“key”:”value”},{“key”:”value”},{},{}]数组形式可以通过length函数获取长度。
问题2:虽然已经获取到data json对象,但是highcharts就是不显示数据。因为此时数据是字符串,需要将对象值转换为数值。
outdoor_options.xAxis.categories[i] = data[i].date;
outdoor_options.series[0].data[i] = parseFloat(data[i].outdoor);//parseFloat()函数将返回的字符类型转换为浮点数,很关键
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/37970.html