问题标签 [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 - 如何使用 JMS 序列化器序列化 ArrayCollection 切片?
我想用实体Category
集合Presentation
(见下文)序列化为 JSON 实体以用于 REST API。
端点看起来像这样/api/v1/categories/1
当数据集很小并且Category
只有 5-10 个相关时Presentations
,结果响应不会太大。但是,当Category
开始让我们说 100 或 200 相关时Presentations
,显然我不想返回所有这些,而是想“分页”结果,例如。调用端点时:
/api/v1/categories/1?page=2
- 只会返回“第二页”
/api/v1/categories/1/page=3
- 将返回“第 3 页”
甚至可以与offset
and一起使用limit
:
/api/v1/categories/1?offset=20&limit=10
但问题是:如何让 JMS 序列化器只序列化集合的一部分?
附言。我知道,例如,如果我想始终获取集合的前@VirtualProperty
5 个元素,我可以添加 created并切片学说ArrayCollection
,如下所示。但是这里的问题是我不能将偏移参数传递给这个方法。因为它会被 JMSSerializer 在某处内部调用......
symfony - 使用 JMS 序列化器反序列化 AWS 结果/嵌套 JSON
我正在尝试使用 JMS 序列化器反序列化来自 AWS CloudSearch 的数据。
来自AWS Result的 JSON 编码数据如下所示:
实体序列化程序配置:
结果对象:
是否有某种方法可以指定要用于的哈希键,serialized_name
或者我是否需要在反序列化之前预处理/展平数据?
php - JMS 序列化程序错误:不在对象中时使用 $this
我正在处理付款处理页面。我们正在使用 Authorize.net 来处理交易。我已经导入了 Authorize 的 php 库及其所有依赖项。
当我尝试处理测试事务时,出现以下错误:
起初我认为这是我的代码中的问题,所以我尝试运行 Authorize 的 php 示例事务并得到相同的错误。
序列化程序昨天刚刚从 GitHub 下载。https://github.com/schmittjoh/serializer
这是授权示例代码:
关于导致错误的任何想法?
symfony - How to make JMS Serializer throw an exception on deserializing JSON instead of coercing types?
I'm trying to write a REST API which consumes a JSON from a PUT request in Symfony2. Deserializing the JSON to an entity sort of works – but the JMS Serializer seems to coerce types from the JSON instead of throwing an exception if the type of a property in the JSON does not match the entity’s corresponding property.
For example …</p>
… will result in …</p>
… if the property id
is defined as an integer in the entity.
But I would like JMS Serializer to throw an exception instead. Does anyone know how to achieve this?
Update 2016-02-27
One problem with JMS Serializer’s type handling I found is this:
will result in …</p>
which is totally undesired.
Can someone please point me into the right direction?
php - 将 JSON 映射到 php 对象
我有一个具有以下结构的 JSON,但我只对entries
节点内的数据感兴趣,因此我的 DTO 类的字段反映了所述节点内的标签。但正如预期的那样,在反序列化 JSON 时出现错误,因为 JMSserializer 需要一个对象,其中包含 JSON 中所有标签的字段。有没有办法可以忽略其他标签?实现此目的的正确方法是什么?
symfony - 为什么Doctrine在JMS反序列化后更新相关实体
我在 Symfony2 项目中使用 Doctrine+JMSserializer,刚刚发现在典型的 JMS“反序列化”和 Doctrine“持久化”操作期间相关实体及其数据可能会受到损害的问题。
并且在对新的 $entity 相关的 Page 实体名称进行典型的持久化操作之后,正在更改 - 所以这是一个问题。
目标是为评论设置页面 ID,但防止更改其他属性,否则页面实体可能会受到损害。我试图通过更改注释、学说设置等来解决这个问题。任何想法如何以自然的方式解决这个问题?
评论和页面实体:
symfony - 如果特定组正在序列化,则不会出现 JMS @Discriminator 字段
我正在使用 Symfony 2.8、FOSRestBundle 和 JMSSerializerBundle。
问题
type
当我序列化实体的特定组(以下示例中的“api”组)时,Document
实体的鉴别器字段不会出现在序列化模型中Citizen
。
教义实体
文档:
公民:
我得到了什么
我需要的
如果我删除特定的序列化组,则type
序列化输出中存在字段。
提前致谢
php - 如何使用 JMS 序列化器处理递归对象
我正在尝试序列化和反序列化 Doctrine 对象图。
结构相当复杂,但这个例子总结了我的问题:
有一个Company
与 具有 OneToMany 关系的实体Employee
。
该Employee
实体与 具有多对一关系Company
。
这被序列化如下:
所以它是对父级null
的引用。对于序列化,这是可以的。但是现在当我反序列化这个 json 时,我在对象中得到了一个。我想要(和期望)的是获得对 parent 的正确引用。Employee
Company
null
Company
Employee
Company
这是否可以使用 JMS 序列化程序,如果可以,怎么做?
如果不可能,有什么好的解决方法?请记住,这是一个大图,我不想手动进行。
php - 带有抽象类的 JMSSerializerBundle - Symfony2
我想序列化和反序列化一个实体及其依赖项,但我无法序列化涉及抽象类的元素。
等级制度 :
测试 --> 几个Calls
,其中Call
类是一个抽象类并由TestCallExecuteQuery
(与 相同的问题$conditions
)扩展
测试.php:
测试调用.php:
TestCallExecuteQuery.php :
所以我按照互联网上的说明进行操作:
@JMSSer\Expose
@JMSSer\ExclusionPolicy("all")
在每个班级中都带有注释@JMSSer\Discriminator
抽象类顶部的注释TestCall
以与扩展类 (TestcallExecuteQuery
)映射
但是..当我序列化时,我只得到 TestCall 的类型属性,而不是query
或return
定义在中的属性TestCallExecuteQuery
:
我知道这是可能的,因为我曾经得到过它们,但即使时光倒流我也无法重现。
编辑 :
好的,我可能得到query
并return
通过改变Test.php
:
至 :
我究竟做错了什么 ?
symfony - JMS 序列化器嵌套对象策略
我有一个与JMS Serializer serialize object in object with diffrent view类似的问题,但我无法像接受的答案那样让它工作。
我有一个包含许多评论的用户模型,但评论所有者是另一个用户。我有一个输出以下内容的序列化策略:
该行为是有意义的,因为关联的(审查)所有者模型与父模型相同,因此它使用相同的序列化策略。但是如何为嵌套模型定义自定义序列化策略,以便输出以下内容: