清理Json URL数据


Clean up Json URL data

我有以下函数为我生成数据:

 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));
        }
    }

json的输出格式如下:

[{"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数据?

大部分代码都是多余的/无用的。你可以节省很多

$sql = "SELECT project_name AS name, ... UNIX_TIMESTAMP(end_date) AS end_date etc...";
while($row = fetch()) {
   $array[] = $row;
}
echo json_encode($array);
构建一个对象,只是为了将其类型转换为数组,这是完全浪费和令人困惑的。如果你想要一个数组,那就创建一个数组。完成"给我一个多莴苣的巨无霸",然后把它转换成鱼片