PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-JMSSerializer预期输入的结尾,但是得到类型为T_NONE的“ /”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用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")

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

大佬总结

以上是大佬教程为你收集整理的php-JMSSerializer预期输入的结尾,但是得到类型为T_NONE的“ /”全部内容,希望文章能够帮你解决php-JMSSerializer预期输入的结尾,但是得到类型为T_NONE的“ /”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: