Я использую аннотации JMS для сериализации объекта PHP при сохранении. Одним из свойств объекта является массив целых чисел с целочисленными ключами. Я использовал следующую аннотацию, как описано в Документация JMS Serializer:
/**
* @var int[]
*
* @Serializer\Type("array<integer, integer>")
*/
private $intArrayWithIntKeys;
Массив сохраняется как Json в виде:
{..., "int_array_with_int_keys":{"123":456}}
Однако при десериализации объекта ключ массива «123» заменяется на «0». Сериализация и десериализация всех других свойств работает отлично, именно этот ассоциативный массив не десериализован правильно. Я что-то пропустил? Есть ли какой-нибудь удобный способ сохранения ключей массива при десериализации?
Задача ещё не решена.
Других решений пока нет …