我正在尝试使用 flot 绘制 SQL 数据库中的数据图表,这是使用 php 收集的,然后使用 json 编码的。
目前看起来像:
[{"month":"February","data":482},{"month":"March","data":0}]
但是flot要操作数据需要采用以下形式
[X AXIS VALUE, Y AXIS VALUE],[X AXIS VALUE, Y AXIS VALUE],[X AXIS VALUE, Y AXIS VALUE]
等..
我该如何转换它?
最佳答案
基本过程是将数据转换为数组(或对象,如果您愿意),然后提取每个绘图点的数据并将其插入数组中。然后,将该数组转回字符串。这是一个例子:
// SAMPLE DATA
$json_string = '[{"month":"February","data":482},{"month":"March","data":0}]';
// DEFAULT
$all_points_array = array();
// JSON DECODE THE STRING AND TURN IT INTO AN ARRAY
$json_array = json_decode($json_string, true);
// LOOP THROUGH THE PLOT POINTS AND ADD EACH SET TO AN ARRAY
foreach ($json_array AS $plot_points) {
$all_points_array[] = '['.$plot_points['month'].','.$plot_points['data'].']';
}
// CONVERT THE ARRAY TO A STRING, SEPARATED BY COMMAS
$all_points = implode(',', $all_points_array);
// PRINT OUT YOUR STRING
echo $all_points;
关于javascript - 将 json 编码的字符串转换为 [value, value],[value, value],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21706358/