代码之家  ›  专栏  ›  技术社区  ›  Alfonso Tienda Arslan Bajwa

带有FOSRESTbundle的JMSSerializerBundle序列化带有“entities”标记的“GET”

  •  1
  • Alfonso Tienda Arslan Bajwa  · 技术社区  · 11 年前

    我正在使用FOSRestBundle和JMSSerializationBundle。当我得到一个集合时,我会得到这样的东西:

    { "entities": [
        {
            "id": 1,
            "mainDiagnosticName": "diagnostic",
            "mainDiagnosticCode": "code",
            "startDate": "2011-01-04T21:30:40+0000",
            "endDate": null,
            "patient": null
         }]
     }
    

    我不想要实体的东西。我只想:

     [
        {
            "id": 1,
            "mainDiagnosticName": "diagnostic",
            "mainDiagnosticCode": "code",
            "startDate": "2011-01-04T21:30:40+0000",
            "endDate": null,
            "patient": null
         }]
    

    如何做到这一点?

    非常感谢。

    2 回复  |  直到 11 年前
        1
  •  1
  •   hd.deman    11 年前

    通过 array 例子 ArrayCollection FosVeiw .

    将结果转换为数组,如下所示:

    $collection->toArray()
    
        2
  •  0
  •   Alfonso Tienda Arslan Bajwa    11 年前

    好吧,我发现了:

    这是因为我使用了注释 FOS\RestBundle \控制器\注释\视图 ,我改变了自己的看法:

    return $this->view($entities,Codes::HTTP_OK);
    

    正如hd.deman所说,使用数组。

    它按照我想要的方式工作。