gpt4 book ai didi

javascript - jqPlot 的 JSON

转载 作者:数据小太阳 更新时间:2023-10-29 05:59:11 24 4
gpt4 key购买 nike

我想使用 jqPlot 使用来自服务器端的 JSON 格式数据,如本示例中所述:http://www.jqplot.com/tests/data-renderers.php

我的代码与示例几乎相同:

function myGraph(jsonurl) {

var ajaxDataRenderer = function(url, plot, options) {
var ret = null;
$.ajax({
// have to use synchronous here, else the function
// will return before the data is fetched
async: false,
url: url,
dataType:"json",
success: function(data) {
ret=data;
console.warn(data);
}
});
return ret;
};



var plot1 = $.jqplot('chartdiv', jsonurl, {
title: 'myTitle',
dataRenderer: ajaxDataRenderer,
dataRendererOptions: { unusedOptionalUrl: jsonurl },
series: [{
label: 'myLabel',
neighborThreshold: -1
}],
axes: {
xaxis: {
renderer: $.jqplot.DateAxisRenderer,
// min:'August 1, 2010 16:00:00',
tickInterval: '2 months',
tickOptions:{formatString:'%Y-%m-%d.%H:%M:%S'}
},
yaxis: {
tickOptions:{formatString:'$%.2f'}
}
},
});

在服务器端,我使用 PHP(和 Yii)。该网页返回一个数组,该数组使用 CJSON::encode($resultArray); 编码为 JSON(此 Yii 函数通过 PHP JSON 编码函数传递)。PHP 脚本的结果如下所示:

{"2011-04-25 14:46:40":2,"2011-04-26 14:46:40":3,"2011-04-27 14:46:40":5}

客户端的 Ajax 请求解决了类似这样的问题(console.info(); 的输出)

Object { 2011-04-25 14:46:40=2,  2011-04-26 14:46:40=3, ...}

可能,jqPlot 期望以下格式:

[[["2011-04-25 14:46:40":0],["2011-04-26 14:46:40",3],["2011-04-27 14:46:40",0]]]

我总是得到错误未捕获的异常:[object Object]怎么了?有没有办法将对象转换为典型的数组形式?

谢谢

最佳答案

我有这样的东西。我有 2 个值数组,标签。你应该从数组构造字符串,如下所示。

        $size = count($labels);

for ($i = 0; $i < $size; $i++) {
$result = $result . "['" . $labels[$i] . "'," . $values[$i] . "]";
if($i != $size -1 ){
$result = $result . ",";
}
}

或者如果您没有 2 个数组而只有这个字符串 {"2011-04-25 14:46:40":2,"2011-04-26 14:46:40":3,"2011-04 -27 14:46:40":5} 你可以用 [ , } 和 ] 和 , ],[ 替换 { 。一个肮脏但快速的解决方案。

在上述代码之后,您可能需要在两边附加“[”和“]”并返回值。

关于javascript - jqPlot 的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6693579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com