Преобразование JMSSerializerBundle для определенного типа


Я использую JMSSerializerBundle в проекте Symfony2 в сочетании с Doctrine2.

Я определил свойство класса как двойное значение, поскольку оно представляет цену продукта.

/**
 * Price of product
 *
 * @Type("double")
 * @MongoDb\Float */
private $price;

Требуется отображать значения с конечными нулями (100,00 вместо 100). Я хотел бы подключить это преобразование к десериализации, так как сериализатор на самом деле знает, что он работает с двойным значением.

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

Есть какие-нибудь идеи/подсказки по этому вопросу?

Author: Elnur Abdurrakhimov, 0000-00-00

1 answers

Пакет JMSSerializer позволяет определить пользовательский обработчик сериализатора/десериализатора: http://jmsyst.com/libs/serializer/master/handlers

Это позволяет изменить способ сериализации или десериализации определенного типа.

 3
Author: Jakub Zalas, 2015-02-12 08:18:18