从json编码的字符串转换为[value,value],[value,value]

我正在尝试使用flot从我的SQL数据库中绘制数据,这是使用php然后json编码收集的。 </ p>

目前看起来像:</ p>

  [{“month”:“February”,“data”:482},{“month”  :“March”,“data”:0}] 
</ code> </ pre>

但是要使flot运行,数据需要采用</ p>

的形式 n

  [X AXIS VALUE,Y AXIS VALUE],[X轴值,Y轴值],[X轴值,Y轴值] 
</ code> </ pre>

ETC .. </ p>

我如何转换它?</ p>
</ div>

展开原文

原文

I'm trying to chart data from my SQL database using flot, this is gathered using php then json encoded.

Currently looks like:

 [{"month":"February","data":482},{"month":"March","data":0}] 

however for flot to operate the data needs to be in the form of

[X AXIS VALUE, Y AXIS VALUE],[X AXIS VALUE, Y AXIS VALUE],[X AXIS VALUE, Y AXIS VALUE]

ETC..

How might i convert that?

duanjiao2978
duanjiao2978 添加输出到帖子,抱歉完全忘了!
6 年多之前 回复
douyun8885
douyun8885 把什么变成什么?只有输出,输入是什么,你尝试了什么?
6 年多之前 回复
douyu2817
douyu2817 我首先要展示您的数据当前所具有的结构,否则很难告诉您如何实现您想要的结构
6 年多之前 回复

2个回答



基本过程是将数据转换为数组(或对象,如果您愿意),然后提取每个绘图点的数据和 把它推到一个数组中。 然后,将该数组转换回字符串。 这是一个例子:</ p>

  // SAMPLE DATA 
$ json_string ='[{“month”:“February”,“data”:482},{“month”: “March”,“data”:0}]';

// DEFAULT
$ all_points_array = array();

// JSON解析字符串并将其转入阵列
$ json_array = json_decode($ json_string,true);

//通过绘图点循环并将每个设置添加到ARRAY
foreach($ json_array AS $ plot_points){
$ all_points_array [] ='['。$ plot_points [ 'month']。','。$ plot_points ['data']。']';
}

//将阵列转换为一个字符串,由COMMAS分隔
$ all_points = implode(',' ,$ all_points_array);

//打开你的STRING
echo $ all_points;
</ code> </ pre>
</ div>

展开原文

原文

The basic process is to convert the data to an array (or object, if you prefer) and then pull out each plot point's data and shove it into an array. Then, turn that array back into a string. Here's an example:

// 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;

dongtui8593
dongtui8593 两者都是正确的,虽然我最终使用你的!
6 年多之前 回复
dslfq06464
dslfq06464 对不起; 这是在服务器端。 看起来您正在寻找一种方法来从AJAX调用返回的JSON中执行此客户端。
6 年多之前 回复



使用 map </ code> 返回一个数组:</ p>

  var flotData = data.map(  function(el){
return [el.month,el.data];
});

console.log(flotData); // [[“二月”,482],[“三月”,0]]
</ code> </ pre>
</ div>

展开原文

原文

Use map to return an array:

var flotData = data.map(function (el) {
  return [el.month, el.data];
});

console.log(flotData); // [["February", 482], ["March", 0]]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问