gpt4 book ai didi

php - JMSSerializer 预期输入结束,但得到类型为 T_NONE 的 "/"

转载 作者:可可西里 更新时间:2023-11-01 01:02:56 25 4
gpt4 key购买 nike

我正在使用 JMS 序列化和反序列化我的实体我有一个批处理过程来生成一个 json 文件,其他人读取该文件

我的实体有一个 DateTime 字段,如下所示

/**
* @var \DateTime
*
* @ORM\Column(name="inscription_date", type="datetime", nullable=false)
* @JMS\Type("DateTime<'d/m/Y'>")
*/
private $inscriptionDate;

当实体被序列化时结果是

"inscription_date":"30\/05\/2007"

但问题是当我要反序列化时我得到了

[JMS\Parser\SyntaxErrorException]                                            
Expected end of input, but got "/" of type T_NONE at position 11 (0-based).

注意:当我使用 json_decode 内置函数时,返回一个 stdClass 没有问题


更新 1

好像不是这个字段,我把原来序列化的字段删掉了,还是报同样的错误。每个对象都在一行中序列化,每个对象由 PHP_EOL 分隔

这是数据示例 people.json

{"name":"dexter","date":"13/04/2009", "doc": "1047516320" }
{"name":"deedee","date":"30/05/2013", "doc": "1047516325" }

所有字段都有效,数据类型为数字或字符串

最佳答案

当反序列化失败时会出现此错误。确保您使用正确的数据类型传递正确的 json。还要检查也将被反序列化的子对象是否也正确 - 传递的 json 也必须正确。

还要确保在没有正斜杠的情况下正确编写你的类:

@Type("Acme\DemoBundle\Entity\City")

还要确保这实际上是类,而不是接口(interface)(您可能需要编写接口(interface)解析器来实现它)

关于php - JMSSerializer 预期输入结束,但得到类型为 T_NONE 的 "/",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18563305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com