2015-11-24 2 views
3

У меня есть сценарий, который ожидает, что следующий вывод:Как форматировать вывод JSON в Symfony

[{ 
    "id": "288", 
    "title": "Titanic", 
    "year": "1997", 
    "rating": "7.7", 
    "genre": "drama, romance", 
    "od": "0" 
}, { 
    "id": "131", 
    "title": "The Bourne Identity", 
    "year": "2002", 
    "rating": "7.9", 
    "genre": "action, mystery, thriller", 
    "od": "1" 
}] 

Это не выглядит, как хорошо отформатированных JSON, как и когда я делаю это:

return new JsonResponse(array(
     "id" => 288, 
     "title" => "Titanic", 
     "year" => "1997", 
     .... 
    )); 

I Я получаю это:

{ 

"id": ​288, 
"title": "Titanic", 
"year": "1997" 
.... 
} 

плагин я использую this, и даже имеет $.getJson Функция?!?

Как изменить формат вывода?

ответ

2

его только недостающую его внешний контейнер.

попробовать это:

return new JsonResponse(array(array(
    "id" => 288, 
    "title" => "Titanic", 
    "year" => "1997" 
))); 

это должно выводиться как:

[{"id":288,"title":"Titanic","year":"1997"}] 
1

Вы должны включить массив элементов в одном из родителей:

return new JsonResponse(array(
    array(
     "id" => 288, 
     "title" => "Titanic", 
     "year" => "1997", 
     .... 
    ), 
    array(
     "id" => 288, 
     "title" => "Titanic", 
     "year" => "1997", 
     .... 
    ) 
)); 
1

Вы должны поместить данные в другой массив, чтобы создать массив элементов. Просто оберните существующий массив в другом массиве:

return new JsonResponse(array(
    array(
     "id" => 288, 
     "title" => "Titanic", 
     "year" => "1997", 
     .... 
    ) 
));