问题标签 [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.
json - 如何在 JMSSerialize 中添加对象的类名作为序列化 json 的索引
我有一个简单的类,例如:
如果我使用以下命令序列化一个新对象:
我会得到类似的东西:
我想知道是否可以使用它(编辑:并且能够反序列化相同的字符串):
谢谢
php - 使用 Symfony2 JMS Serializer Bundle 解析 JSON 响应到类
在 Symfony2 中,我有一个 Address 实体和一个 AddressList 实体。AddressList 实体构成了地址实体的集合。我有一个 JSON 响应需要映射到 AddressList 实体。
使用 JMS Serializer 映射时,AddressList 始终返回 null,如下所示:
现在我知道,如果我在根级别向 JSON 响应添加一个键(地址),那么它可以正常工作,因为它可以映射到响应对象中的那个键,即
但我希望它与下面给出的孤立对象数组一起使用。
谢谢!
JSON响应:
这是地址实体:
这是构成上述地址实体集合的地址列表实体。
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
php - 注册自定义 jmsserializer 处理程序
我需要一个自定义的 JMSSerializer 处理程序,它以不同的方式处理表单,因此创建了一个类AppBundle\FormJmsSerializerHandler
:
我在 services.yml 中注册它:
现在 JMS 序列化程序的默认表单处理程序jms_serializer.form_error_handler
具有更高的优先级,因此我的自定义处理程序将被忽略。
(编辑)这只是一个错字(这次 PhpStorm 重构失败):
现在我明白了
CustomHandlersPass.php 第 39 行中的 ReflectionException:类 AppBundle\FormJmsSerializerHandler 不存在
我究竟做错了什么?
json - 如何删除 symfony json 中的代理字段
我想__initializer__: null,__cloner__: null, __isInitialized__: true,
从我返回的 json 中删除代理字段,但我不知道。
我不想使用* @Serializer\Exclude()
,因为这些字段旁边还有更多字段。
这是一个示例 json:
提前致谢。
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错误?谢谢。
java - JMS 错误:反序列化对象时出错
得到以下奇怪的异常
令我惊讶的是,并非所有调用/事务都发生这种情况。有时反序列化没有问题发生,有时我面临这个问题。如果它与类路径有关,那么我应该不断收到这个错误,但这里的情况很奇怪。任何帮助高度赞赏。
rest - 如何在 symfony jms fosrestbundle 中动态更改序列化组?
您好,我想动态更改我的序列化上下文的组。
编码 :
如代码中所述,我想在控制器中删除或添加组。有没有办法做到这一点?
php - Fos Rest 查看回复
我用
当我的回复包含西里尔语单词时,我的回复如下:
我收到一个错误:
$response
是数组,但是我发现问题是,$rest = substr("abcdef", -1);
当我使用$shortName = $entity->getFirstName() . ($last ? ' ' . ' ' . preg_replace("/^([a-zа-я]).*$/isu", "$1", trim($last)) . '.' : '');
有规范 sumbhol 并且没有错误的响应后,我的符号不好,我不明白为什么会发生这种情况。
symfony - 在 JMSSerializer 的 post.deserialization 事件中获取原始数据
我需要使用 JMSSerializer 库的 post.deserialization 事件来处理链接资源可以具有不同类型的情况。
我的问题是我必须使用原始数据(尚未反序列化)以手动水合物特殊领域为目标。
是否有可能取回这些数据?如果可能的话,我该怎么做?
感谢您的帮助。