2013-12-09 27 views
0

我的數據解析和條引號對象

var data = [ 
{"title":"2013-12-09", "calls_in":"345", "calls_out":"100"}, 
{"title":"2013-12-08", "calls_in":"125", "calls_out":"97"}, 
{"title":"2013-12-07", "calls_in":"85", "calls_out":"2"}, 
{"title":"2013-12-06", "calls_in":"185", "calls_out":"22"}, 
{"title":"2013-12-05", "calls_in":"74", "calls_out":"419"} 
] 

從PHP腳本到達JSON格式如上。我使用的是一種API,即'jChartFX',它基本上是一個JavaScript圖形庫,可以通過javascript/jquery快速製作很酷的圖表。

當前使用庫上方的數據無法解析它。它由於整數值周圍的引號而失敗。我需要的數據格式如下:

var data = [ 
     {"title":"2013-12-09", "calls_in":345, "calls_out":100}, 
     {"title":"2013-12-08", "calls_in":125, "calls_out":97}, 
     {"title":"2013-12-07", "calls_in":85, "calls_out":2}, 
     {"title":"2013-12-06", "calls_in":185, "calls_out":22}, 
     {"title":"2013-12-05", "calls_in":74, "calls_out":419} 
    ] 

你看,整數不包含在引號中。我怎樣才能做到這一點使用jQuery或JavaScript。

在它的(工作)的完整劇本,將類似於一些最基本的形式:

<!DOCTYPE html> 
<html> 
<head> 
<link rel="stylesheet" type="text/css" href="chartfx.css" /> 
<script type="text/javascript" src="js/jchartfx.system.js"></script> 
<script type="text/javascript" src="js/jchartfx.coreBasic.js"></script> 
</head> 
<body onload="loadChart()"> 
<div id="ChartDiv" style="width:600px;height:400px"></div> 
<script> 

var chart1; 

function loadChart(){   

    chart1 = new cfx.Chart(); 
    chart1.getData().setSeries(2); 
    chart1.getAxisY().setMin(0); 
    chart1.getAxisY().setMax(700); 

    var series1 = chart1.getSeries().getItem(0); 
    var series2 = chart1.getSeries().getItem(1); 

    series1.setGallery(cfx.Gallery.Lines); 
    series2.setGallery(cfx.Gallery.Lines); 

    var data = [ 
     {"title":"2013-12-09", "calls_in":345, "calls_out":100}, 
     {"title":"2013-12-08", "calls_in":125, "calls_out":97}, 
     {"title":"2013-12-07", "calls_in":85, "calls_out":2}, 
     {"title":"2013-12-06", "calls_in":185, "calls_out":22}, 
     {"title":"2013-12-05", "calls_in":74, "calls_out":419} 
    ] 

    console.log(data); 
     chart1.setDataSource(data); 
     var divHolder = document.getElementById('ChartDiv'); 
    chart1.create(divHolder);    

    } 

</script> 

</body> 
</html> 

回答

1

方法1:將數據傳遞到jChartFX之前只是調用parseInt()在JavaScript上的每個整數值。

選項2:如果你可以修改的PHP腳本,編碼您的JSON是這樣的:

$x = array('foo' => "1", 'bar' => "2"); 
echo json_encode($x, JSON_NUMERIC_CHECK ); 

結果:{"foo":1,"bar":2}

更多信息:

選項2的 json_encode($arrayContainingTheData, JSON_NUMERIC_CHECK);

+0

我會看看,在工作明天埃德,TA。 – cookie

+0

echo json_encode($ data,JSON_NUMERIC_CHECK);發揮了魅力。謝謝。 – cookie