Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Symfony 5中递归地去修饰数组?

如何在Symfony 5中递归地去修饰数组?
EN

Stack Overflow用户
提问于 2021-02-14 15:18:16
回答 1查看 641关注 0票数 1

目前,我正试图对一个数组进行去of化,该数组作为JSON响应从API中提取出来,并被JSON解码。

问题是,我希望它被非正规化为一个类,其中一个属性是另一个类。

似乎使用Symfony去噪器可以轻松地完成任务,但我总是得到以下例外:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Failed to denormalize attribute "inner_property" value for class "App\Model\Api\Outer": Expected argument of type "App\Model\Api\Inner", "array" given at property path "inner_property".

我的反恶意代码看起来是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$this->denormalizer->denormalize($jsonOuter, Outer::class);

在构造函数中注入去甲基化器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public function __construct(DenormalizerInterface $denormalizer) {

我试图去修饰的数组:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
array (
  'inner_property' => 
  array (
    'property' => '12345',
  ),
)

最后,我试图对这两个类进行去定向:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Outer
{
    /** @var InnerProperty */
    private $innerProperty;

    public function getInnerProperty(): InnerProperty
    {
        return $this->innerProperty;
    }

    public function setInnerProperty(InnerProperty $innerProperty): void
    {
        $this->innerProperty = $innerProperty;
    }
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class InnerProperty
{
    private $property;

    public function getProperty(): string
    {
        return $this->property;
    }

    public function setProperty(string $property): void
    {
        $this->property = $property;
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-15 14:36:37

经过几个小时的搜索,我终于找到了原因。问题是"inner_property“蛇案和$innerProperty或getInnerProperty骆驼案的结合。在Symfony 5中,默认情况下不启用camel case到snake case转换器。

因此,我不得不在config/packages/framework.yaml work.yaml中添加这个配置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
framework:
        serializer:
                name_converter: 'serializer.name_converter.camel_case_to_snake_case'

以下是对Symfony文档的引用:https://symfony.com/doc/current/serializer.html#enabling-a-name-converter

或者,我也可以向外层类中的属性添加一个SerializedName注释:https://symfony.com/doc/current/components/serializer.html#configure-name-conversion-using-metadata

PS:我的问题没有被正确地问出来,因为我没有正确地更改属性和类名。所以我在问题中修正了这个问题,供未来的访客参考。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66201063

复制
相关文章
python 将读取的数据写入txt文件_c中怎样将数据写入txt文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
6.4K0
Python将数据写入txt文件_python将内容写入txt文件
readlines() 会把每一行的数据作为一个元素放在列表中返回,读取所有行的数据
全栈程序员站长
2022/11/11
12.5K0
Numpy中的数组维度
在对 np.arange(24)(0, 1, 2, 3, ..., 23) 进行重新的排列时,在多维数组的多个轴的方向上,先分配最后一个轴(对于二维数组,即先分配行的方向,对于三维数组即先分配平面的方向)
benym
2022/07/14
1.6K0
Python中numpy数组切片
Python中符合切片并且常用的有:列表,字符串,元组。 下面那列表来说明,其他的也是一样的。 格式:[开头:结束:步长] 开头:当步长>0时,不写默认0。当步长<0时,不写默认-1 结束:当步长>0时,不写默认列表长度加一。当步长<0时,不写默认负的列表长度减一 步长:默认1,>0 是从左往右走,<0是从右往左走 遵循左闭右开原则,如:[0:9]等价于数学中的[0,9)
狼啸风云
2020/12/18
3.3K0
Python中numpy数组切片
python读取txt文件中的数组
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139543.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/23
4K0
Python将图片输出为二维数组并保存到txt中
使用Python将图片输出为二维数组,并保存到txt文件中。代码如下:# coding=utf8from PIL import Imageimport numpy as npfrom scipy import miscimport matplotlib.pyplot as pyplot #读图片def loadImage(): im = Image.open("0001.jpg") #读取图片 im.show() #显示原图 im = im.c
代码的路
2022/06/18
2.1K0
如何将NumPy数组保存到文件中以进行机器学习
祝大家新年快乐,今天看到的文章然后就翻译了一下,涉及到的技术点都很简单,算是一篇水文,而且我对文章的改动比较大,但是还希望能给你带来一点帮助。
PM小王
2020/01/15
7.8K0
将三维数组中的同名的键拆分成三维数组的每个数组中包括原来不同的二维数组的键…
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/112640.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/08
1.8K0
将三维数组中的同名的键拆分成三维数组的每个数组中包括原来不同的二维数组的键…
numpy中数组的遍历技巧
在numpy中,当需要循环处理数组中的元素时,能用内置通函数实现的肯定首选通函数,只有当没有可用的通函数的情况下,再来手动进行遍历,遍历的方法有以下几种
生信修炼手册
2020/06/17
12.5K0
Taro中如何将store加载到项目中
上面文章我们了解了如何创建store,最后导出时,在函数内部创建了store,所以导出时,函数需要调用,然后通过provicer组件将其注入到项目中。
挥刀北上
2022/05/11
7650
Taro中如何将store加载到项目中
numpy中的掩码数组
numpy中有一个掩码数组的概念,需要通过子模块numpy.ma来创建,基本的创建方式如下
生信修炼手册
2020/06/10
1.9K0
将多个txt文件中的内容写在一个txt中的方法
import os filename='./train_data/img_' for i in range(1,19736): newfile=filename+str(i)+'.txt' if os.path.exists(newfile): read= open(newfile, 'r') for line in read: writ = open('recode.txt', 'a') writ.write(
陶陶name
2022/05/13
3.4K0
python 将一个txt文件数据,按要求分开,写入多个txt文本中
matinal
2023/10/13
2780
Numpy数组
一、NumPy简介 NumPy是针对多维数组(Ndarray)的一个科学计算(各种运算)包,封装了多个可以用于数组间计算的函数。 数组是相同数据类型的元素按一定顺序排列的组合,注意必须是相同数据类型的,比如说全是整数、全是字符串等。 array([1,2,3]) # 数值型数组 array(['w','s','q'],dtype = '<U1') # 字符型数组 二、NumPy 数组的生成 要使用 NumPy,要先有符合NumPy数组的数据,不同的包
见贤思齊
2020/08/05
4.9K0
Numpy数组
Numpy 中 axis = n 对应 ndarray 的第 nnn 层 [],从最外层的 axis = 0,逐渐往内层递增。
hotarugali
2022/03/03
7890
Numpy数组
Python 将数据写入文件(txt、csv、excel)
一、将列表数据写入txt、csv、excel 1、写入txt def text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表. file = open(filename,'a') for i in range(len(data)): s = str(data[i]).replace('[','').replace(']','')#去除[],这两行按数据不同,可以选择 s = s.replace
菲宇
2019/07/31
41.3K0
numpy中数组操作的相关函数
在numpy中,有一系列对数组进行操作的函数,在使用这些函数之前,必须先了解以下两个基本概念
生信修炼手册
2020/06/17
2.1K0
Python中numpy数组的拼接、合并
np.append() np.concatenate() np.stack() np.hstack() np.vstack() np.dstack() 其中最泛用的是第一个和第二个。第一个可读性好,比较灵活,但是占内存大。第二个则没有内存占用大的问题。
全栈程序员站长
2022/07/02
3.2K0
Python数据分析(3)-numpy中nd数组的创建
摘要总结:本文主要介绍了NumPy(Numerical Python)中的一些数据结构和常用函数。主要包括:数组(array)、矩阵(matrix)、数组操作相关函数、矩阵操作相关函数、NumPy的子库numpy.core和numpy.lib等。通过这些函数,我们可以方便地进行数值计算、线性代数、傅里叶变换等操作,是进行科学计算和数据处理的重要工具。
锦小年
2018/01/02
2K0
Python数据分析(3)-numpy中nd数组的创建
点击加载更多

相似问题

PyQt:附标签的QLineEdit

20

DocuS传下载附标签的信封

10

将onclick添加到图像标签

24

将标签添加到图像链接

224

将图像添加到标签建议

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文