2017-10-19 19 views
-1

私はちょうど英語のネイティブスピーカーではなく、PHPやJavaScriptなどの言語を学び始めました。PHPを使ってJsonを正しく解析する

私はPHPを使用してクエリ結果から.jsonファイルを作成まず第一に:

while ($row = pg_fetch_array($result)) { 
    $torre = $row['torre']; 
    $janeiro = $row['janeiro']; 
    $fevereiro = $row['fevereiro']; 
    $marco = $row['marco']; 
    $abril = $row['abril']; 
    $maio = $row['maio']; 
    $junho = $row['junho']; 
    $julho = $row['julho']; 
    $agosto = $row['agosto']; 
    $setembro = $row['setembro']; 
    $outubro = $row['outubro']; 
    $novembro = $row['novembro']; 
    $dezembro = $row['dezembro']; 
    $faturamento[] = array('torre' => $torre, 
     'janeiro' => $janeiro, 
     'fevereiro' => $fevereiro, 
     'marco' => $marco, 
     'abril' => $abril, 
     'maio' => $maio, 
     'junho' => $junho, 
     'julho' => $julho, 
     'agosto' => $agosto, 
     'setembro' => $setembro, 
     'outubto' => $outubro, 
     'novembro' => $novembro, 
     'dezembro' => $dezembro 
    ); 
} 

    $response['faturamento'] = $faturamento; 
    $fp = fopen('./results.json', 'w+'); 
    fwrite($fp, json_encode($response)); 
    fclose($fp); 
    pg_close($conn); 
?> 

.jsonて読み込めるそれがあるべきよう、すべてのものがある:

 { 
      "faturamento": [ 
      { 
       "torre": "Database Admin", 
       "janeiro": "R$ 0.00", 
       "fevereiro": "R$ 0.00", 
       "marco": "R$ 0.00", 
       "abril": "R$ 0.00", 
       "maio": "R$ 0.00", 
       "junho": "R$ 0.00", 
       "julho": "R$ 0.00", 
       "agosto": "R$ 0.00", 
       "setembro": "R$ 0.00", 
       "outubto": "R$ 0.00", 
       "novembro": "R$ 0.00", 
       "dezembro": "R$ 0.00" 
      }, 
    . 
    . 
    . 
] 
} 

私は.json自体の解析に問題があります。

<script> 
      var obj; 
      obj = JSON.parse(JSON.stringify($.getJSON("./results.json"))); 
      console.log(obj); 
    </script> 

基本的にこれをjsオブジェクトまたは配列wahtevにする必要がありますerはテーブルを生成するように働くので(後でpdfにエクスポートすることができます)、グラフ(jpgraphsまたはfusioncharts)で使用します。

私は複数の方法を試しましたが、常にデフォルトの "オブジェクト"コンソール出力または予期しない文字をjsonの列1の行1、時にはcol 2行2に取得します。 現在jquery- 3.2.1実行中。

+1

。あなたが知った後でのみ、あなたは機能をお互いに渡すべきです。そして、エラーチェックをしたいのであれば、時にはそうでなくても。 – aynber

+1

'getJSON'のドキュメントを読む必要があります。それはあなたがそれを使う方法ではありません。 – Quentin

答えて

1

あなたがPHPのページからJSONを返却する場合は、あなただけが必要です。

$.getJSON("./results.json", function (data) { 
    obj = data; 
}); 
ではなく、1すべて一緒に1行を、すべてを実行するので、内訳がどこにあるか確認するために少しそれを分割
関連する問題