繁体   English   中英

Symfony序列化程序不能与--no-dev一起使用

[英]Symfony serializer doesn't work with --no-dev

我正在使用symfony序列化程序。 但是,如果我使用--no-dev标志安装composer包,它会反序列化数组,这些数据应该是数组数组中的对象数组。

这是序列化:

$result = $this->get('serializer')->deserialize(
    $request->getContent(),
    InputDto::class,
    'json'
);

对于反序列化,我在DTO中使用注释。

这就是DTO中对象数组的“字段”外观:

/**
 * @var OrderItemDto[]|Collection
 */
private $items = [];

基于代码:

https://github.com/symfony/serializer/blob/master/Encoder/JsonDecode.php#L84

如果将选项json_decode_associative传递为false

$result = $this->get('serializer')->deserialize(
    $request->getContent(),
    InputDto::class,
    'json',
    ['json_decode_associative' => false]
);

它不应该尝试将其转换为数组。

http://php.net/manual/en/function.json-decode.php

要使对象分段工作,您需要在framework部分的下一行添加到app/config/config.yml

property_info:
    enabled: true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM