2012-09-28 55 views
3

我在Symfony2項目中使用JMSSerializerBundle,並與Doctrine2結合使用。特定類型的JMSSerializerBundle轉換

我已經將類屬性定義爲double值,因爲它表示產品價格。

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

這是要求顯示尾隨零(100.00而不是100)的值。我想將這種轉換掛鉤到反序列化中,因爲序列化器實際上知道他正在使用雙精度值。

因爲還有其他一些不會受到影響的屬性(如數量,它們必須保持整數),因此投射所有數字值將不會起作用。

關於這個問題的任何想法/提示?

回答

3

JMSSerializer包允許您定義自定義的串行器/處理器:http://jmsyst.com/libs/serializer/master/handlers

這允許你改變如何specifc類型被序列化或解串器的方式。

+3

我不認爲原始類型可以有處理程序,只有對象。 – Lewis

+0

您可以使用具有使用基本類型的類型的處理程序。 –