问题标签 [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 回答
134 浏览

json - 如何在 JMSSerialize 中添加对象的类名作为序列化 json 的索引

我有一个简单的类,例如:

如果我使用以下命令序列化一个新对象:

我会得到类似的东西:

我想知道是否可以使用它(编辑:并且能够反序列化相同的字符串):

谢谢

0 投票
0 回答
885 浏览

php - 使用 Symfony2 JMS Serializer Bundle 解析 JSON 响应到类

在 Symfony2 中,我有一个 Address 实体和一个 AddressList 实体。AddressList 实体构成了地址实体的集合。我有一个 JSON 响应需要映射到 AddressList 实体。

使用 JMS Serializer 映射时,AddressList 始终返回 null,如下所示:

现在我知道,如果我在根级别向 JSON 响应添加一个键(地址),那么它可以正常工作,因为它可以映射到响应对象中的那个键,即

但我希望它与下面给出的孤立对象数组一起使用。

谢谢!

JSON响应:

这是地址实体:

这是构成上述地址实体集合的地址列表实体。

0 投票
3 回答
1571 浏览

php - 无法为 Symfony ConstraintViolationList 覆盖 JMS 序列化程序的默认处理程序

我无法覆盖 jms 序列化程序包中的默认处理程序。

我想改变Symfony\Component\Validator\ConstraintViolationList序列化的方式,所以我编写了自己的自定义处理程序。并按照文档中的描述正确标记它(以及各种stackoverflow答案)。

但是,我的处理程序一直被 JMS Serializer 捆绑包附带的 ConstraintViolationList 的默认处理程序覆盖。

我已经正确标记了我的处理程序服务。事实上,当我注释掉ms_serializer.constraint_violation_handler服务定义时,我的处理程序服务被检测到并正确使用vendor/jms/serializer-bundle/JMS/SerializerBundle/Resources/config/services.xml

如何阻止默认处理程序覆盖我的自定义处理程序?

我什至尝试过从jms_serializer.constraint_violation_handler.class我自己的包中覆盖参数,但仍然没有运气。

这是我的处理程序类:

我已经在我的services.xml

0 投票
0 回答
416 浏览

php - 注册自定义 jmsserializer 处理程序

我需要一个自定义的 JMSSerializer 处理程序,它以不同的方式处理表单,因此创建了一个类AppBundle\FormJmsSerializerHandler

我在 services.yml 中注册它:

现在 JMS 序列化程序的默认表单处理程序jms_serializer.form_error_handler具有更高的优先级,因此我的自定义处理程序将被忽略。

(编辑)这只是一个错字(这次 PhpStorm 重构失败):

现在我明白了

CustomHandlersPass.php 第 39 行中的 ReflectionException: 类 AppBundle\FormJmsSerializerHandler 不存在

我究竟做错了什么?

0 投票
1 回答
1135 浏览

json - 如何删除 symfony json 中的代理字段

我想__initializer__: null,__cloner__: null, __isInitialized__: true,从我返回的 json 中删除代理字段,但我不知道。

我不想使用* @Serializer\Exclude(),因为这些字段旁边还有更多字段。

这是一个示例 json:

提前致谢。

0 投票
1 回答
1551 浏览

php - 无法解码 JSON、格式错误的 UTF-8 字符(编码不正确?) - 意外的 PHP 行为

通过JMS Serializer对 REST 请求的反序列化被终止,异常"Could not decode JSON, malformed UTF-8 characters (incorrectly encoding?)"当 PHP 函数json_las_error返回JSON_ERROR_UTF8值时会引发此异常。我花了几个小时搜索原因(格式良好的 UTF-8、BOM 等),但没有成功。UTF-8 定义明确。然后我尝试更改 JMS Serializer 的代码:

如下(json_last_error 不直接在 switch 语句中):

在此更改后,反序列化成功终止。对这种行为有什么解释吗?这是一个PHP错误?谢谢。

0 投票
0 回答
295 浏览

java - JMS 错误:反序列化对象时出错

得到以下奇怪的异常

令我惊讶的是,并非所有调用/事务都发生这种情况。有时反序列化没有问题发生,有时我面临这个问题。如果它与类路径有关,那么我应该不断收到这个错误,但这里的情况很奇怪。任何帮助高度赞赏。

0 投票
1 回答
1426 浏览

rest - 如何在 symfony jms fosrestbundle 中动态更改序列化组?

您好,我想动态更改我的序列化上下文的组。

编码 :

如代码中所述,我想在控制器中删除或添加组。有没有办法做到这一点?

0 投票
0 回答
410 浏览

php - Fos Rest 查看回复

我用

当我的回复包含西里尔语单词时,我的回复如下:

我收到一个错误:

$response是数组,但是我发现问题是,$rest = substr("abcdef", -1);当我使用$shortName = $entity->getFirstName() . ($last ? ' ' . ' ' . preg_replace("/^([a-zа-я]).*$/isu", "$1", trim($last)) . '.' : '');有规范 sumbhol 并且没有错误的响应后,我的符号不好,我不明白为什么会发生这种情况。

0 投票
0 回答
60 浏览

symfony - 在 JMSSerializer 的 post.deserialization 事件中获取原始数据

我需要使用 JMSSerializer 库的 post.deserialization 事件来处理链接资源可以具有不同类型的情况。

我的问题是我必须使用原始数据(尚未反序列化)以手动水合物特殊领域为目标。

是否有可能取回这些数据?如果可能的话,我该怎么做?

感谢您的帮助。