【问题标题】:JMSSerializerBundle transformation on specific type特定类型的 JMSSerializerBundle 转换
【发布时间】:2023-03-11 02:16:02
【问题描述】:

我在 Symfony2 项目中使用 JMSSerializerBundle,并结合 Doctrine2。

我已将类属性定义为双精度值,因为它代表产品价格。

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

要求显示带有尾随零的值(100.00 而不是 100)。我想将此转换与反序列化挂钩,因为序列化程序实际上知道他正在使用双精度值。

战后强制转换所有数值是行不通的,因为还有其他属性不能受到影响(例如数量,必须保持整数)。

关于这个问题的任何想法/提示?

【问题讨论】:

    标签: php symfony symfony-2.1 jmsserializerbundle


    【解决方案1】:

    JMSSerializer 包允许您定义自定义序列化器/反序列化器处理程序:http://jmsyst.com/libs/serializer/master/handlers

    这允许您更改特定类型的序列化或反序列化方式。

    【讨论】:

    • 我不认为原始类型可以有处理程序,只有对象。
    • 您可以使用具有使用原始类型的类型的处理程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 2012-12-13
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多