用过FusionChart图表软件的人都知道,FusionChart渲染图表时,支持的数据有两种,一种是XML格式,一种是JSON格式。但是现在从网上下载的FusionChart软件都支持
XML格式的数据。但是,当我们试着将JSON格式的数据传入FusionChart时,FusionChart提示数据错误,对与图表,根本就显示不出来。
原来这是因为FusionChart在3.2.1的版本之后,公开发行的免费版本都移除了setJSONData(jsonData)函数。里面的fusionchart.js根本没有这个方法。因此当将JSON的数
据格式的数据传入setJSONData(jsonData)函数时,根本就找不到该方法,当然出不了数据了。
但是在FusionChart官网上,确又介绍了完全支持JSON的格式的数据。我也在网上确实看到了很多网友用了这个setJSONData()函数。因此我猜测,可能是有如下的原因导致
在fusionchart函数中没有setJSONData()函数:
在免费的版本中,FusionChart公司将其完全屏蔽掉了该单独的函数。那么我们怎么样才能实现用JSON格式的数据作为数据源呢:
通过查找FusionChart的官方文档,得知在3.3.0版本中,有如下的函数:
(一):setXMLUrl(url),这个函数是以一个URL作为XML数据源,XML数据是通过Url转发到图表的;
(二):setXMLData(data),这个函数是直接用xml的字符串作为数据源传入,data是一个XML格式的字符串;
(三):setJSONUrl(url) ,这个函数与setXMLUrl(url)类似,只不过url返回数据格式换成了JSON;
(四):setJSONData(data),这个函数与setXMLData(data)类似,只不过数据格式换成了JSON格式;
(五):setChartDataUrl(url,format),这个函数是setXMLUrl(url)与setJSONUrl(url)函数的综合格式,第一个参数
url是一个链接地址,format的参数是"xml"或"json";
(六) :setChartData(data,format),这个函数是setXMLData(data)与setJSONData(data)的综合,第二个参数
format的值可取如下:xml,xmlurl,json,jsonurl。对与每种值,对应的data取值也需要相应的变动:
当format为xml时,data是xml格式的数据;
当format为json时,data就是json格式的数据;
当format是xmlurl时,data就是能够返回xml格式数据的url;
当format是jsonurl时,data就是能够返回json格式数据的url。
通过以上的几个函数,完全能够满足XML格式和JSON格式的各种需求变动情况。