问题标签 [jmsserializerbundle]

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 投票
5 回答
11824 浏览

php - 使用 JMS Serializer 时禁用 Doctrine 2 延迟加载?

我在我的 Zend 项目中使用 Doctrine 2 ORM,并且在几种情况下需要将我的实体序列化为 JSON。

ATM 我使用 Querybuilder 并加入我需要的所有表。但是我的序列化程序导致学说延迟加载每个关联的实体,这会导致大量数据并引发递归。

现在我正在寻找一种完全禁用 Doctrine 延迟加载行为的方法。

我选择数据的方法如下:

我希望我的结果集只包含选定的表和关联。

任何帮助将不胜感激。

0 投票
1 回答
1861 浏览

symfony - 如何使用 JMSSerializerBundle 创建良好的超媒体格式?

假设我想创建一个类似于以下内容的 XML 响应:

给定一个如下所示的域模型:

以及类似以下的金钱阶层:

现在,我的问题。创建如下所示的响应非常简单

使用注解、XML 或 YAML 来告诉 JMSSerializerBundle 如何序列化产品对象。但是,实体不应指定xmlns:atomand条目,因为它不应该知道它的位置和位置。您还可以想象更多具有不同 - 属性的链接,例如. 想到的一种解决方案是一种服务,它监听特定对象的序列化事件,并根据需要添加这些属性和标签。该服务可以使用 DI 来获取, -service 等以适合所请求格式的格式生成这些链接。IE 在 XML 响应中,它可以将适当的类型设置为<atom:link>reledit
RequestRouterapplication/media-format+xml,而在 json 响应中,它可以生成类似

现在,在JMSSerializerBundle 的文档中,我找到了@PreSerialize和的注释@PostSerialize,但它们似乎只能调用被序列化对象的方法。
有谁知道如何/是否可以实现?还是我必须使用 Twig 等模板引擎并手动创建 XML 响应?

0 投票
2 回答
2152 浏览

php - JMSSerializerBundle 在 JSON 中以字符串形式返回双精度

所以我们JMSSerializerBundle在 Symfony2 项目中使用 为我们的客户生成一些 JSON。它正在序列化我们的 Doctrine2 实体并且像魅力一样工作,但有一个例外。所有双精度/十进制值都是生成的 JSON 中的字符串,这会使客户端感到困惑。

我们的序列化实体看起来像这样,我这里只粘贴了相关的属性/getter。

纬度/经度值显示在 JSON 中,如下所示:

如何摆脱引号,所以它是 JSON 中的数字而不是字符串?这应该很容易,但我在文档或网上找不到关于这个问题的任何内容。希望有人可以在这里帮我一把!

0 投票
1 回答
3506 浏览

php - 特定类型的 JMSSerializerBundle 转换

我在 Symfony2 项目中使用 JMSSerializerBundle,并结合 Doctrine2。

我将类属性定义为双值,因为它代表产品价格。

要求显示带有尾随零的值(100.00 而不是 100)。我想将这种转换与反序列化挂钩,因为序列化程序实际上知道他正在使用双精度值。

战后强制转换所有数值将不起作用,因为还有其他属性不能受到影响(如数量,这些属性必须保持整数)。

关于这个问题的任何想法/提示?

0 投票
1 回答
532 浏览

symfony - LogicException:容器扩展“jms_serializer”未注册

我正在尝试添加 FosComment 包、FOS Rest Bundle、JMS 序列化程序

我收到错误 LogicException:容器扩展“jms_serializer”未注册

当它们安装时。
\任何人都可以建议解决这个问题

0 投票
1 回答
8964 浏览

symfony - JMSSerializer 反序列化集合

我在反序列化学说集合的序列化集合时遇到问题。找不到关于那个和任何主题的文档,我是 JMSSerializer 的新手。当我尝试反序列化时:

$collection 为空

当我设置为 null 而不是类名时,我在结果上有 assoc 数组。有没有一种优雅的方式来反序列化那个json?

编辑:对不起。这是序列化的集合:

0 投票
1 回答
875 浏览

symfony - JMSSerializerBundle 原则实体更新

我对反序列化的 Doctrine 实体有疑问。序列化对象没有实体的所有字段,当我更新它们以使字段设置为空时。我认为同样的问题在这里,但没有与使用 JMSSerializer + Doctirne 相关的解决方案。

问候

0 投票
3 回答
7285 浏览

symfony - 具有关系的实体中的 JMSSerializerBundle 序列化组

我在使用组序列化具有许多关系的实体时遇到问题。我在以这种方式序列化相关实体时遇到问题。

假设我有两个实体:产品和相关元素。

元素实体具有类似的结构:

我的问题是,当我使用“详细信息”组实体序列化产品时,我只想序列化元素的 id,但正如您所见,实体已定义与产品相同的组(以防我需要元素对象的详细信息),因为我想要在我的所有实体上都有统一的组,并防止创建数百个组,如“product_details”、“element_details”等。

当我访问关系或类似的东西时,有没有办法最终更改序列化组?处理程序可能或类似的东西?

问候和感谢任何帮助

0 投票
2 回答
13859 浏览

serialization - JMSSerializerBundle。无法控制第三方元数据

我有两个实体希望使用 JMSSerializerBundle 进行序列化。Music实体有一个映射exclusion_policy: NONE文件。

Music实体具有User来自的实体的字段FOSUserBundle。该User实体有一个映射文件,exclusion_policy: ALL其中有几个字段设置为expose: true,因此它们将被序列化。

问题是,该User字段已完全序列化。我是否更改User实体的映射文件都没关系。

这是它的外观:

为什么它不引用它自己的映射文件?还是我在某个地方弄错了?

到目前为止我尝试了什么

我已阅读第三方元数据文档。它只是说在我的序列化程序服务中添加一个新目录。我已经这样做了,但是我必须扩展FOS\UserBundle\Entity类,并且它也无法访问我试图排除的父受保护字段。

0 投票
2 回答
3235 浏览

arrays - ReflectionException:类 ArrayCollection 不存在

我正在尝试为移动摘要序列化实体。我有这个实体类:

现在,当我在我的DefaultController.php

我有use Doctrine\Common\Collections\ArrayCollection;DefaultController.php但似乎错误来自内部JMSSerializerBundle

到目前为止我尝试了什么

  • 我尝试将Doctrine注释定义为以 a 开头\,但这没有帮助
  • 我已经清除了我的缓存一百万次
  • 我搜索了类似的异常,但它们似乎都是由拼写错误引起的,我在过去 48 小时内检查了拼写错误,但找不到。

这些类是使用自动生成的app/console