【发布时间】:2021-11-14 00:36:34
【问题描述】:
我在 DTO 中有一个列表属性,该列表具有从属性返回的以下值:
var myDTO = new MyDTO
{
DocumentMetaData = new List<Item>
{
new Item { PropertyName = "Prop1", Value = "John" },
new Item { PropertyName = "Prop2", Value = "Mary" },
new Item { PropertyName = "Prop3", Value = "Paul" }
}
}
此 DTO 具有其他属性,但与此问题无关。
所以,我正在寻找一种从属性“Prop2”中获取值“Mary”的方法。我尝试在 Logic App 中执行以下操作,但这不是最佳方法:
body('API_-_GET_-_Document')?['DocumentMetaData']?[1]?['Value']
有没有办法在逻辑应用中按属性“Prop2”进行过滤?
【问题讨论】:
-
我不知道该语法是什么语言,但它肯定不是 C#(第二段代码,而不是第一段)。请edit您的问题并添加适当的语言标签。此外,根据谁以及为什么“这不是最好的方法”?
-
对于第二段代码,可以不知道它是什么,所以我编辑了帖子...但是,对于第一段代码,很明显它是 C# 代码
-
我想如果
PropertyName总是像您的示例中那样唯一,您可以使用Dictionary<string, Item>,然后使用body('API_-_GET_-_Document')?['DocumentMetaData']?['Prop2']?['Value']。这可能是你所追求的吗? -
PropertyName 的值总是相同的,就像你说的那样是唯一的。所以它总是“Prop1”,“Prop2”和“Prop3”......我特别需要PropertyName“Prop2”的属性Value的值......您提出的解决方案是考虑“Prop2”是Item中的一个属性, 不是。
-
所以你可以返回一个字典而不是一个列表,这应该可以工作
标签: c# azure azure-logic-apps