я использую Laravel и возвращающих объект JSON для API, с помощью следующей строки:Различные форматы ответов JSON на разных серверах
Return \Response::json(array(
'width' => $widget->widget->width,
'height' => $widget->widget->height
));
Когда я проверить локально, с моим регулярным сервером Laravel (PHP - S), ответ выходит так:
{"width":2,"height":1}
Когда я проверить на моем VPS с помощью Nginx, ответ выходит так:
{"width":"2","height":"1"}
Добавление двойных кавычек сначала не казалось большим делом, но теперь оно убивает некоторые части моего приложения. Мой вопрос: почему это происходит и как я могу сделать его однородным? (предпочтительнее и то, и другое)
ps: Я полагаю, что это разница в сервере, но, возможно, это может быть версия PHP или что-то еще. Код тот же самый для обоих.
Вы извлекаете значения из MySQL? Это может быть связано: http://stackoverflow.com/questions/21961870/laravel-returns-json-string-on-local-machine-but-integer-on-elastic-beanstalk-in – jmar777
Это не отвечает, почему это но вы можете использовать листинг атрибутов (http://laravel.com/docs/5.1/eloquent-mutators#attribute-casting), чтобы помочь в этом. –