使用字符串值过滤JSON数组

问题描述

我正在使用MS Power Automate(Flow),并且想通过字符串过滤JSON数组以检索值...

这是我的JSON数据的子集(此数据已通过流程获取项目步骤从SharePoint列表中提取):

{
  "value": [
    {
      "@odata.etag": "\"1\"","ItemInternalId": "1","ID": 1,"Team": {
        "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference","Id": 0,"Value": "Retail Marketing Team Email"
      },"Team#Id": 0,"TeamEmailAddress": "person1@company.co.uk; person2@company.co.uk;","Created": "2020-08-17T11:33:31Z"
    },{
      "@odata.etag": "\"1\"","ItemInternalId": "2","ID": 2,"Id": 1,"Value": "Social Media Email"
      },"Team#Id": 1,"TeamEmailAddress": "paidsocial@company.co.uk; person3@company.co.uk; person4@company.co.uk;","Created": "2020-08-17T11:33:50Z"
    }
  ]
}

我需要在 Team =“搜索字符串”字段上进行过滤,并通过匹配字符串返回 TeamEmailAddress

因此,对于 Team ,我将使用“ 零售营销团队电子邮件”并提取 TeamEmailAddress 字段的值,即“ * person1” @ company.co.uk; person2@company.co.uk; *'

现在,使用$..['TeamEmailAddress'],我可以获取所有 TeamEmailAddress 值,并且通过在 team 节点上进行过滤,我应该能够检索到特定的 TeamEmailAddress 元素...

我已经尝试过了:

$.[?(@.Team== 'Retail Marketing Team Email')]['TeamEmailAddress']

$..['Team'].['Value' == 'Retail Marketing Team Email']?['Value']

和其他几种变体,但似乎从未恢复任何数据,或者出现JSON Parse错误

什么是正确的方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)