2013-10-31 42 views
0

我有从API返回的这个json数组。格式化我的json for highcharts

[ 
{ 
    "localTimestamp": 1383091200, 
    "swell": { 
     "absMinBreakingHeight": 3.255 
    } 
}, 
{ 
    "localTimestamp": 1383102000, 
    "swell": { 
     "absMinBreakingHeight": 2.968 
    } 
} 
] 

我需要得到这个与highcharts合作,我完全失去了。数据来自外部API。

是否需要引入数组并将其更改为适合高图,或将高点图指向API的URL并调整高图的代码以使用它们发出的内容。

我从Highcharts,我一直在与这里的示例代码:

HTML:

<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<script src="http://code.highcharts.com/highcharts.js"></script> 
</head> 
<body> 
<script> 
$(document).ready(function() { 
    var options = { 
     chart: { 
      renderTo: 'container', 
      type: 'spline' 
     }, 
     series: [{}] 
    }; 

    var url = "jsonp.php?callback=?"; 
    $.getJSON(url, function(data) { 
     options.series[0].data = data; 
     var chart = new Highcharts.Chart(options); 
    }); 
}); 



</script> 

</script> 
</head> 
<body> 

<div id="container" style="width: 100%; height: 400px; margin: 0 auto"></div> 

</body> 
</html> 






<script type="text/javascript" src="/js/themes/gray.js"></script> 

</body> 
</html> 

和我的PHP代码:

<?php 
header("content-type: application/json"); 

$array = array(7,4,2,8,4,1,9,3,2,16,7,12); 

echo $_GET['callback']. '('. json_encode($array) . ')';  

?> 

我知道PHP是错误的(显然)我只是不知道如何格式化我的JSON来与高层聊天。在此先感谢 M

要清楚,我试图让我的数据(顶部)进入PHP数组(底部)ina格式,可以通过highcharts阅读。

+0

'$ _GET ['callback']'和括号是什么意思?这是一个函数调用吗?如果是的话,这是[JSONP](http://en.wikipedia.org/wiki/JSONP),而不是[JSON](http://en.wikipedia.org/wiki/JSON)。 '“对JSONP请求的响应不是JSON,并且不会被解析为JSON;返回的负载可以是任意的JavaScript表达式,它不需要包含任何JSON。”请参见http://api.jquery .com/jQuery.ajax /获取更多详细信息并在该文档页面上搜索JSONP。 – feeela

+0

是的,这是来自highcharts网站的JSONP示例。我应该使用其他的东西从其他网站获取数据吗? – MacD

+0

我不知道。在您使用jQuery时,请参阅上面链接的文档。 – feeela

回答

1

您需要将您的数据(从JSON)转换成像目标[{x:timestamp,waveheight},{timestamp,waveheight]]或数组的数组的数组格式正确像

[[timestamp,waveheight],[timestamp,waveheight]] 

一般在highcharts你需要使用X/Y参数,而不是你的自定义名称的。