Сериализатор JMS возвращает искаженный JSON

Как говорит заголовок, у меня проблема с сериализатором JMS, работающим на Symfony 2.7, который возвращает искаженный JSON. Это происходит только тогда, когда база данных становится больше.

Я сделал простую функцию, которая возвращает всю базу данных, сериализованную в JSON, иногда мне полезно проверить некоторые данные.

В основном у меня есть эта функция

function asJson($serializationGroup = null)

{
$serializer = SerializerBuilder::create()->build();

$serGroups = array('Default');
if (is_string($serializationGroup)) {
$serGroups[] = $serializationGroup;
}
if (is_array($serializationGroup)) {
foreach($serializationGroup as $sg) $serGroups[] = $sg;
}

$serializationContext = SerializationContext::create()->setGroups($serGroups);
$serializationContext->setSerializeNull(true);
return $serializer->serialize($this, 'json', $serializationContext);
}

который возвращает JSON, содержащий данные, связанные с заданными группами сериализации. Затем я вызываю его из контроллера, дающего все мои группы сериализации, чтобы сериализовать всю базу данных.

Но, как я уже сказал, когда моя БД становится больше, я получаю искаженный JSON. Причем ошибка всегда другая

SyntaxError: JSON.parse: ожидается ‘:’ после имени свойства в объекте в
строка 1 столбца 182085 данных JSON

SyntaxError: JSON.parse: ожидается ‘,’ или ‘}’ после значения свойства в
объект в строке 1 столбца 367466 данных JSON

SyntaxError: JSON.parse: ожидается ‘:’ после имени свойства в объекте в
строка 1 столбца 1158 данных JSON

Я попытался проанализировать JSON и заметил, что он полностью поврежден после строки ошибки .. Что-то вроде:

"commands_deletedse," <-- here starts the error, the rest is malformed
active ":true,"readonly ":false,"running ":false,"...

ОБНОВИТЬ

Кажется, он работает на другом ПК с MySQL 5.7, в то время как ошибка присутствует на другом ПК с MySQL 5.5. Я не знаю, имеет ли это какое-то отношение к ..


ОБНОВЛЕНИЕ 2

Кажется, он работает на том же ПК, но по команде Symfony, поэтому я бы сказал, что это как-то связано с конфигурацией nginx. На самом деле я даже заметил, что вызов с веб-сайта работает 1/10 времени, поэтому я бы сказал, что ошибка происходит из-за конфигурации тайм-аута или около того. Я использую nginx + php-fpm.


ОБНОВЛЕНИЕ 3

Я попытался запустить внутренний веб-сервер Symfony и затем вызвать функцию контроллера, но я получил ту же ошибку. Я начинаю понятия не имею о том, что мне тестировать ..

Есть мысли?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector