问题标签 [nested-properties]
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.
javascript - JavaScript:获取和设置对象的嵌套属性
还有关于如何在网络和 StackOverflow 周围的 JS 中获取和设置对象的嵌套属性/属性的问题和答案,但到目前为止还没有一个适合我的问题,所以就在这里。
声明/定义对象的代码是
这是我用来测试对象创建的代码
输出是
Q.1:如何正确获取()和设置()嵌套属性。我希望能够
person.get('addr.street')
和person.set('addr.pin', '123456')
。目前我只能通过在对象创建期间传递它来设置整个 addr 对象。
Q2。我怎样才能让我的班级发出事件,这样我就可以像这样编写代码person.on('change', data => console.log(data));
c# - 使用 Json.Net 反序列化嵌套属性而不使用数据注释
我有一个从多个 API 获取数据的应用程序。为了尽量减少类的数量,我需要映射到每个属性。我已经实现了一个简单的 json.net ContractResolver
。但是,当我尝试将属性映射到子属性时,我遇到了一些麻烦。
JSON格式1:
JSON格式2:
这是我的模型类:
还有我的解析器:
我知道路径不能代替属性名称。怎么可能这样?
mapstruct - MapStruct:未映射源属性上的嵌套属性和 ReportingPolicy.ERROR 问题
使用 MapStruct,我们想使用 ReportingPolicy.ERROR,并且有如下代码:
其中nestedSource 与nestedTarget 的类型不同,并且两个doublyNested*Field 类型都是String。
没有为 NestedSource -> NestedTarget 声明映射器。上面映射中声明的 String 属性是这些类型中的唯一属性。
以上导致未映射的源错误:
这似乎或多或少是合理的,因为我们没有为 NestedSource -> NestedTarget 声明映射器。
但是,问题是:如果我们将未映射源的 ReportingPolicy 更改为警告/忽略,MapStruct 会计算出如何在映射器实现中正确映射 doublyNestedSourceField,即使它声称不存在源映射。只是想知道这里发生了什么,以及我是否遗漏了什么。
----深入杂草一点(在 MapStruct 代码本身中)----
我可能做错了什么,但我确实注意到在 BeanMethodMapping.java MapStruct 尝试从 unprocessedSourceProperties 中删除“nestedSource.doubleNestedSourceField”,即使相应属性的键只是 unprocessedSourceProperties 中的“nestedSource”。因此,“nestedSource”保留为未处理的源属性并引发错误。
c# - 用于复杂嵌套属性的自定义模型绑定器 AspNet Core 2.2
我有一个 Angular 客户端并使用此主体创建一个 POST 请求:
{“名称”:“示例”,“货币”:“欧元”}
我使用 Odata 协议,我的控制器是:
带模板:
和货币:
Currency 是一个特殊的类,因为它具有私有构造函数,因此我无法创建 Currency 的新实例。我想使用现有实例(欧元或美元)。
(StringEnumeration 支持 Parse 和 TryParse 方法并返回正确的实例)
标准配置:
我的问题是当客户端在http://localhost:4200/template上调用 POST 时 ,正文为:{"Name":"example","Currency":"EUR"}
Model Bindel 无法在 Currency.EUR 实例中转换“EUR”,所以我想提供一些东西来帮助模型 binder 使用 Currency.EUR 实例创建具有 Currency 属性的模板
这是生成的错误:尝试读取属性“货币”的值时发现了具有非空值的“PrimitiveValue”节点;但是,需要一个“StartArray”节点、一个“StartObject”节点或一个具有空值的“PrimitiveValue”节点。
在我的项目中,我有许多内部带有 Currency 属性的类。
我尝试在模板类上使用 IModelBinder 并且它可以工作,但我不想为任何货币属性编写 modelBinder。
我尝试使用 JsonConverter,但它对我不起作用(可能有问题)
我的预期结果是具有以下值的模板实例:
linq - C#,LINQ 一种通用排序方法,用于按对象属性和嵌套属性对列表进行排序
我的 EF 模型中有一个名为 User 的实体:
分支是模型中的另一个实体:
我的要求是获取用户列表并将其显示在网格上,然后按某些列(一次一个)对列表进行排序。例如,按用户名、名字、姓氏和 HomeLocation 排序。按 homelocation 排序时,应按分支名称排序。
我有很多像这样显示其他数据的网格。所以我想开发一种通用的排序机制,我已经使用谷歌中的一些例子来实现它,例如这个:
但是,按家庭位置排序失败,因为它需要按用户实体的内部属性进行排序。我也尝试过使用动态 LINQ 库,但没有运气。
更新:请注意,我必须对列表进行排序,而不是 IQueryable,因为我的列表包含使用 AE 加密的字段,这些字段不支持 DB 级排序。
有人可以向我指出如何从内部属性实现动态排序吗?
Update2:我按照示例并使用扩展方法实现了排序,这就是它在我的列表中的应用方式:
但我收到以下错误:'System.Linq.Expressions.Expression 1[System.Func
2[ClientData.User,System.String]]' 类型的对象无法转换为'System.Func`2[ClientData.User,System.String] 类型'。
从以下引发错误:
java - Vaadin 表 - AddNestedContainerProperty
我有一个名为 locationBasedRole 的实体,它有 2 个名为角色和位置的属性。角色和位置都与 locationBasedRole 具有@ManyToMany 关系。
现在我想在 Vaadin 表中拥有每个属性。
应该是这样的
当我从 NestedContainerProperties 中删除属性时,它至少向我显示了表格中的某些内容。
我可以使用任何帮助!
提前致谢!
c# - LINQ:从投影内的嵌套列表中获取总计数
我有以下 LINQ 语句:
我基本上是在为列表中的每个分支收集统计信息。在投影语句中,第一个计算 ( WaitingInLobby
) 是好的,我遇到了TotalPSProvided
and的问题AverageAssistTime
。
对于每个分支,可以有多个 Lobby 记录,每个 Lobby 记录可以有 0 个或多个ServicesProvided
条目。我TotalPSProvided
想获得每个分支机构的总数,但我得到的不正确 - 当前查询似乎将大厅记录的数量作为TotalPSProvided
.
如何修改语句以返回正确的统计信息?
添加实体定义:
powershell - 如何在 Power Shell 中查看所有子属性
在查询 Power Shell 对象的属性时,我想知道列出的属性是否具有可能为我提供有用信息的子属性,但 Get-Member 命令和 Select-Object -ExpandProperty 参数都没有为我提供获取方法前面所有属性的信息。
例如,如果我对 X509 证书对象的实例执行“Get-Member -MemberType Property”命令,我会得到一个包含 18 个属性的列表,包括“Archived”、“Extensions”、“FriendlyName”等。
这些属性中的大多数没有子属性,但至少有一个——“扩展”属性——有。
反过来,其中一些子属性具有自己的子属性。
我需要在一个查询中预先获取所有这些信息,而不是对每一个都进行试验,看看我是否发现了一些有趣的东西。
有没有办法获取这些信息,或者有人编写了一个查询来显示顶级属性的所有子属性?
我环顾四周并没有发现任何东西。
我尝试编写一个查询脚本,但到目前为止它还没有产生好的结果。
谢谢你。
javascript - 从 $scope 访问嵌套变量属性的干净方法
我想在 java 脚本文件中访问相同的变量属性,但由于属性太多,代码看起来有点难看。我有下一个代码:
有什么方法可以访问invoiceLine
对象上设置的invoice
属性,或者以更清洁的方式isEditOpen
访问对象上设置的属性operations
?我的文件中有很多重复此代码,我想找到一种更简洁的方法来访问这样的属性。
我知道我可以定义一个变量 varoperations = $scope.operations
并在需要此值时访问该属性 operations.isEditOpen
,但我仍然想要更简单的东西,因为我不想为范围内的所有对象创建变量。
有什么方法可以创建一个function
带有两个params
( objectFromScope, neededProperty
) 的函数,它可以从范围上设置的变量返回所需的属性值?或者当我想从作用域访问对象属性时,有没有更好的方法来没有这么多代码?
PS:我也可以这样做:
但这是一个好方法吗?