menno van hout/laravel-jms

为 Laravel 添加 jms serializer

0.3.0 2022-09-20 12:25 UTC

This package is auto-updated.

Last update: 2024-09-20 17:03:10 UTC


README

更多信息即将到来

安装

composer require mennovanhout/laravel-jms

使用

$serializer = app(Serializer::class);

示例

JSON

{
  "title": "Hello World!"
}

DTO

use JMS\Serializer\Annotation as Serializer;

class PaymentDTO
{
    /**
     * @Serializer\SerializedName("title")
     * @Serializer\Type("string")
     *
     * @var string
     */
    private $title;

    /**
     * @return string
     */
    public function getTitle(): string
    {
        return $this->title;
    }
}

反序列化

$serializer = app(Serializer::class);

/** @var PaymentDTO */
$paymentDTO = $serializer->deserialize($json, PaymentDTO::class, 'json');

序列化

$serializer = app(Serializer::class);

$json = $serializer->serialize($paymentDTO, 'json');

更多信息

注解: https://jmsyst.com/libs/serializer/master/reference/annotations