问题标签 [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.

0 投票
1 回答
1060 浏览

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 页”

甚至可以与offsetand一起使用limit

/api/v1/categories/1?offset=20&limit=10

但问题是:如何让 JMS 序列化器只序列化集合的一部分?

附言。我知道,例如,如果我想始终获取集合的@VirtualProperty5 个元素,我可以添加 created并切片学说ArrayCollection,如下所示。但是这里的问题是我不能将偏移参数传递给这个方法。因为它会被 JMSSerializer 在某处内部调用......

0 投票
0 回答
258 浏览

symfony - 使用 JMS 序列化器反序列化 AWS 结果/嵌套 JSON

我正在尝试使用 JMS 序列化器反序列化来自 AWS CloudSearch 的数据。

来自AWS Result的 JSON 编码数据如下所示:

实体序列化程序配置:

结果对象:

是否有某种方法可以指定要用于的哈希键,serialized_name或者我是否需要在反序列化之前预处理/展平数据?

0 投票
1 回答
276 浏览

php - JMS 序列化程序错误:不在对象中时使用 $this

我正在处理付款处理页面。我们正在使用 Authorize.net 来处理交易。我已经导入了 Authorize 的 php 库及其所有依赖项。

当我尝试处理测试事务时,出现以下错误:

起初我认为这是我的代码中的问题,所以我尝试运行 Authorize 的 php 示例事务并得到相同的错误。

序列化程序昨天刚刚从 GitHub 下载。https://github.com/schmittjoh/serializer

这是授权示例代码:

关于导致错误的任何想法?

0 投票
2 回答
2783 浏览

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?

0 投票
1 回答
2434 浏览

php - 将 JSON 映射到 php 对象

我有一个具有以下结构的 JSON,但我只对entries节点内的数据感兴趣,因此我的 DTO 类的字段反映了所述节点内的标签。但正如预期的那样,在反序列化 JSON 时出现错误,因为 JMSserializer 需要一个对象,其中包含 JSON 中所有标签的字段。有没有办法可以忽略其他标签?实现此目的的正确方法是什么?

0 投票
0 回答
317 浏览

symfony - 为什么Doctrine在JMS反序列化后更新相关实体

我在 Symfony2 项目中使用 Doctrine+JMSserializer,刚刚发现在典型的 JMS“反序列化”和 Doctrine“持久化”操作期间相关实体及其数据可能会受到损害的问题。

并且在对新的 $entity 相关的 Page 实体名称进行典型的持久化操作之后,正在更改 - 所以这是一个问题。

目标是为评论设置页面 ID,但防止更改其他属性,否则页面实体可能会受到损害。我试图通过更改注释、学说设置等来解决这个问题。任何想法如何以自然的方式解决这个问题?

评论和页面实体:

0 投票
1 回答
1068 浏览

symfony - 如果特定组正在序列化,则不会出现 JMS @Discriminator 字段

我正在使用 Symfony 2.8、FOSRestBundle 和 JMSSerializerBundle。

问题

type当我序列化实体的特定组(以下示例中的“api”组)时,Document实体的鉴别器字段不会出现在序列化模型中Citizen

教义实体

文档:

公民:

我得到了什么

我需要的

如果我删除特定的序列化组,则type序列化输出中存在字段。

提前致谢

0 投票
3 回答
1386 浏览

php - 如何使用 JMS 序列化器处理递归对象

我正在尝试序列化和反序列化 Doctrine 对象图。

结构相当复杂,但这个例子总结了我的问题:

有一个Company与 具有 OneToMany 关系的实体Employee
Employee实体与 具有多对一关系Company

这被序列化如下:

所以它是对父级null的引用。对于序列化,这是可以的。但是现在当我反序列化这个 json 时,我在对象中得到了一个。我想要(和期望)的是获得对 parent 的正确引用。EmployeeCompanynull CompanyEmployeeCompany

这是否可以使用 JMS 序列化程序,如果可以,怎么做?
如果不可能,有什么好的解决方法?请记住,这是一个大图,我不想手动进行。

0 投票
1 回答
874 浏览

php - 带有抽象类的 JMSSerializerBundle - Symfony2

我想序列化和反序列化一个实体及其依赖项,但我无法序列化涉及抽象类的元素。

等级制度 :

测试 --> 几个Calls,其中Call类是一个抽象类并由TestCallExecuteQuery(与 相同的问题$conditions)扩展

测试.php:

测试调用.php:

TestCallExecuteQuery.php :

所以我按照互联网上的说明进行操作:

  • @JMSSer\Expose@JMSSer\ExclusionPolicy("all")在每个班级中都带有注释
  • @JMSSer\Discriminator抽象类顶部的注释TestCall以与扩展类 ( TestcallExecuteQuery)映射

但是..当我序列化时,我只得到 TestCall 的类型属性,而不是queryreturn定义在中的属性TestCallExecuteQuery

我知道这是可能的,因为我曾经得到过它们,但即使时光倒流我也无法重现。

编辑 :

好的,我可能得到queryreturn通过改变Test.php

至 :

我究竟做错了什么 ?

0 投票
0 回答
2090 浏览

symfony - JMS 序列化器嵌套对象策略

我有一个与JMS Serializer serialize object in object with diffrent view类似的问题,但我无法像接受的答案那样让它工作。

我有一个包含许多评论的用户模型,但评论所有者是另一个用户。我有一个输出以下内容的序列化策略:

该行为是有意义的,因为关联的(审查)所有者模型与父模型相同,因此它使用相同的序列化策略。但是如何为嵌套模型定义自定义序列化策略,以便输出以下内容: