この質問は、私がここに書いた以前の質問に関連しています。
この JSON 構文は正しいですか? 後でjqPlotチャートを作成するために必要です。
[{"Date":"2012-02-29","Close":"87.60"},{"Date":"2012-02-28","Close":"87.77"},{"Date":"2012-02-27","Close":"88.07"}]
jQuery.parseJSON(jsonString);
この文字列ではorを使用できないため、これを尋ねJSON.parse(jsonString);
ます。Firefox は以下を返します:
SyntaxError: JSON.parse: 予期しない文字 @ index2.php:677
これを生成する PHP コードは次のとおりです。
<?php
$req = $bdd->prepare('SELECT Date, Close FROM quotes WHERE Symbol = ? AND Date > ? AND Date < ?');
$req->execute(array($_GET['id'], $_GET['datemin'], $_GET['datemax']));
$test=array();
while ($donnees = $req->fetch(PDO::FETCH_ASSOC))
{
// echo print_r($donnees) . "<br />";
// echo $donnees[Date] . "<br />";
$test[] = $donnees;
}
echo json_encode($test);
?>
何が悪いのかわからない。
編集: Javascript コードが追加されました。
<script>
$("button").click(function(){
$.get("requete_graph.php", {
id: param1,
datemin: param2,
datemax: param3
}, function(data,status){
console.log(data);
make_graph(data);
}, "json");
});
function make_graph(toto) {
alert("String before : " + JSON.stringify(toto));
var json_parsed = JSON.parse(toto);
alert("String after : " + JSON.stringify(json_parsed));
$(document).ready(function(){
var plot1 = $.jqplot('chartdiv', json_parsed);
});
}
</script>