问题标签 [jms-serializer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - JMSSerializer 排除策略和反序列化组
JMSSerializer@MaxDeepth
和@Groups
. 为什么他们不进行反序列化,而只为序列化工作?我如何也启用它们进行反序列化?
jmmserializer 的来源表明排除策略不会被忽略,它们只是等于 null。
json - JMSSerializerBundle 未映射键等于 0
我正在使用 JMSSerializerBundle 并且我注意到序列化的奇怪行为。
我正在使用 $jsonItems = $serializer->serialize($invoiceItems, 'json'); 其中 $invoiceitems 如下:
我得到以下 JSON:
为什么在我的 JSON 字符串中, services[1] 的格式与 services[3] 不同?如果我引用我的PHP数组,唯一的区别是services[1]的第一个键是0,而services[3]的第一个键是1。这就像JMS Serializer在它等于0时没有映射键. 最后,我想在 JSON 字符串中保持 key 等于 0。
我怎样才能做到这一点 ?
php - 是否可以使用 JMS 序列化器将数组序列化到对象的根?
想象一下,我有一个简单的对象,其结构类似于以下对象:
如果我要使用 JMS 序列化器将此对象序列化为 JSON,我会得到一个具有相同结构的结果,但 $data 位于根元素上,如下所示:
我需要将 $data 变量的内容放在序列化结果的根目录上,即:
这可能吗?如果是这样,怎么做?
symfony - JMSSerializer 仅暴露 FOSUser 类属性
我有一个从 FOSUser 模型扩展而来的自定义用户类:
我的问题是:FOSUser 模型中的抽象属性已公开,但自定义扩展类中的属性未公开。
要公开属性,我有两个 yaml 文件:1)MyBundle/../Resources/config/serializer/fos/Model.User.yml 2)SecurityBundle/../Resource/config/serializer/Entity.User.yml
我的自定义用户类有一个属性 $name。这应该由我的 .yaml 文件公开:
教义迫使我$id
在扩展类中添加一个。仅当我添加自定义用户类$id
时才会公开。* @ExclusionPolicy("all")
当我将@Expose 添加到名称时,没有区别。
如何做到这一点?
php - 有没有办法手动初始化 JSM 序列化器?
我正在为 API 编写一个 PHP 包装器项目。在我的响应对象中,我喜欢将 JSON 块反序列化为对象。它不是一个 symfony 标准框架项目,只是一个带有 symfony 组件的 PHP 项目。
在一个 symfony 项目中,我会简单地调用
并完成它。但当然,我的班级既不是 ContainerAware,也没有任何对容器或服务的访问权限。我需要使用 JMS 序列化器作为我正在编写包装器的 API,还使用了 JMS 序列化器(带有配置)。
有没有办法JMS\Serializer\Serializer
手动初始化 JMS 序列化器()?
在 JMS Serializer 的 services.xml 中有以下定义:
我可以一个接一个地初始化一个对象,但我仍然会被困在<argument type="service" id="service_container" />
需要服务容器()的地方。
还有办法手动初始化 JMS 序列化器吗?
symfony - JMS Serializer:在运行时动态更改虚拟属性的名称
我使用 JMS Serializer Bundle 和 Symfony2。我正在使用虚拟属性。目前,我使用 SerializedName 注释设置属性的名称。
是否可以在函数内部动态设置序列化名称?或者是否可以使用 Post/Pre 序列化事件动态影响名称?
谢谢!
php - JMS 序列化器:如何在序列化中设置 auto_increment 值
我有一个要序列化为 xml 对象的类。我的班级有一个“id”值,我需要设置它。所以第一个有 id=1,第二个 id=2 等等......是否可以在我的类中设置一些东西,每个 generatetd 类都有一个 auto_increment?谢谢!!!
symfony - 改变jms中数组序列化的方式
当我序列化数组时,我得到了这样的东西:
但是我在使用 JSON 对数组进行反序列化时遇到问题,我认为它应该如下所示:
有没有办法改变它?
这是我来自 symfony2 的代码
编辑:我发现“getArrayResult()”返回数组,但它不包含我的关系实体
php - 使用 JMSSerializer 序列化特征
当尝试序列化使用特征的模型时,JMSSerializer 不会序列化该特征包含的属性。我正在使用 yaml 来配置序列化程序,但它似乎不起作用。
使用了JMSSerializerBundle,下面的yaml位于Resources/config/serializer/Model.Traits.IdentityTrait.yml
并且OurClass
配置位于Resources/config/serializer/Model.OurClass.yml
一些代码已被忽略以专注于问题
php - JMS 序列化器 XmlList 注释
如何为 @XmlList 元素定义 cdata 和命名空间?
例如,如果我需要从示例http://jmsyst.com/libs/serializer/master/reference/annotations#xmlnamespace修改 BlogPost以拥有多个作者:
与序列化的 xml 类似:
对于单个@XmlElement,cdata 和命名空间都可以正常工作,但@XmlList和@XmlCollection没有这样的东西。
任何线索我应该在哪里为列表中的元素添加注释?