0

我正在使用 CakePHP 创建一个通过 EmberJS 从前端连接到的 RESTful api。

CakePHP 中的以下代码生成了我需要的 JSON,但它放在了 EmberJS 不喜欢的方括号中。如何在没有方括号的情况下获取数据?

CakePHP 视图

public function view($id = null) {

    if($id == NULL)
    {
        $id = $this->request->params['id'];
    }

    $this->layout = 'ajax';

    $options = array('conditions' => array('Content.' . $this->Content->primaryKey => $id));
    $content = $this->Content->find('first', $options);
    $content = Set::extract('/Content/.', $content);

    $this->set('content', $content);

    $this->set('_serialize', $content);

    ;

}

视图.ctp

echo json_encode(compact('content'));

它正在返回:

{
    "content":
    [{
     "id":"1",
     "name":"Home",
     "extended":"This is the homepage.",
     "created":"2013-08-05 23:40:55",
     "modified":"2013-08-05 23:40:55"
    }]
}

我需要这个:

{
    "content":
    {
     "id":"1",
     "name":"Home",
     "extended":"This is the homepage.",
     "created":"2013-08-05 23:40:55",
     "modified":"2013-08-05 23:40:55"
    }
}

谢谢

4

1 回答 1

1

方括号是 Javascript/JSON 中的数组。您显然需要一个对象(我从未使用过 EmberJs)。所以:

json_encode(compact('content'),JSON_FORCE_OBJECT);
于 2013-08-08T01:04:10.003 回答