FOSRestBundle在JSON中没有键值

时间:2012-12-04 02:15:41

标签: json symfony key-value-coding fosrestbundle

我在我的小型Symfony2网站上设置了FOSRestBundle。我已经创建了一些小的GET方法,当我访问api url时,我得到了我的JSON数据。完善。 但我正在尝试构建一个iphone应用程序,我使用RestKit来映射/解析json / ...我遇到的问题是它必须是键值编码(KVC)JSON数据

我在ApiController中使用这个基本代码来检索我的体育数据库表中的所有数据:

public function getSportsAction() {
    $sports = $this->getDoctrine()
            ->getRepository('MatchTrackerAppBundle:Sports')
            ->findAll();

    $view = View::create()
            ->setStatusCode(200)
            ->setData($sports);

    return $this->get('fos_rest.view_handler')->handle($view);
}

目前我得到了这个输出

[
    {
        "id": 1,
        "name": "Voetbal"
    },
    {
        "id": 2,
        "name": "Tennis"
    }
]

它没有钥匙!如何在其前面添加密钥。 我想要的是

{
    "sports": [
    {
            "id": 1,
            "name": "Voetbal"
        },
        {
            "id": 2,
            "name": "Tennis"
        }
    ]
}

FOSRestBundle可以实现吗?

1 个答案:

答案 0 :(得分:1)

在黑暗中拍摄,因为我从未使用过此套装......但是这会有效吗?

$view = View::create()
        ->setStatusCode(200)
        ->setData(  array("sports" => $sports)  );