Highcharts ajax 获取json对象生成报表之数据处理问题

Highcharts ajax 获取json对象生成报表之数据处理问题最近在做一个小项目,使用到Highcharts展示图表,其中通过ajax来异步获取json数据。在此期间,遇到了几个问题,今天总结一下分享给大家

欢迎大家来到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

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信