2016-09-26 8 views
-1

をクリーンアップし、私は私のためのデータを生成し、次の機能があります:JSON出力は、次の形式で見えますJSONのURLデータ

function get_project_time() { 
     $name; 
     $desc; 
     $values; 
     $to; 
     $from; 
     $sql = $this->db->query("Select * from tbl_project")->result(); 
     foreach ($sql as $value) { 

      $name = $value->project_name; 
      $desc = $value->project_status; 
      $start_date = $value->start_date; 
      $end_date = $value->end_date; 
      $unix_start_date = strtotime($start_date); 
      $unix_end_date = strtotime($end_date); 
      $to = "Date($unix_start_date)/"; 
      $from = "Date($unix_end_date)/"; 
      $e = new stdClass(); 
      $f = new stdClass(); 
      $e->name = $name; 
      $e->desc = $desc; 
      $f->to = $to; 
      $f->from = $from; 
      $e->values = array($f); 

      echo json_encode(array($e)); 
     } 
    } 

を:

[{"name":"e-Campus and eLearning Project","desc":"in_progress","values":[{"to":"\/Date(1473627600)\/","from":"\/Date(1480626000)\/"}]}][{"name":"BloodLink Training Project","desc":"in_progress","values":[{"to":"\/Date(1474405200)\/","from":"\/Date(1475010000)\/"}]}][{"name":"Test Project","desc":"","values":[{"to":"\/Date(1474405200)\/","from":"\/Date(1475182800)\/"}]}] 

私は、データをクリーンアップしたいと思います私はこのような何かを得るように:

[{"name":"e-Campus and eLearning Project","desc":"in_progress","values":[{"to":"/Date(1473627600)/","from":"/Date(1480626000)/"}]}][{"name":"BloodLink Training Project","desc":"in_progress","values":[{"to":"/Date(1474405200)/","from":"/Date(1475010000)/"}]}][{"name":"Test Project","desc":"","values":[{"to":"/Date(1474405200)/","from":"/Date(1475182800)/"}]}] 

私はjsonデータをきれいにすることができますか?

+5

http://stackoverflow.com/questions/10210338/json-encode-escaping-forward-slashes –

+2

これは間違っています。ループ内に 'echo json_encode(..)'を実行しているので、複数の独立したjson文字列を生成しています。ループ内に配列/オブジェクトを構築する必要があります。建物が完成したら、プロセスの終了時にエンコードするだけです。 –

答えて

0

ほとんどのコードは重複/無駄です。あなたは自明このようなもので、多くのラインの 自分を救うことができる:

あなたは配列に型キャストすることができますちょうどので、オブジェクトを構築
$sql = "SELECT project_name AS name, ... UNIX_TIMESTAMP(end_date) AS end_date etc..."; 

while($row = fetch()) { 
    $array[] = $row; 
} 

echo json_encode($array); 

、全く無駄と混乱しています。配列が必要な場合は、配列を作成します。 "私に余分なレタスを持ってビッグマックを与えて"それからフィートの魚にそれを変換してください。

関連する問題