我有一个具有以下架构的JSON解析操作:
{
"type": "object",
"properties": {
"employees": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"email": {
"type": "string"
}
},
"required": [
"id",
"email"
]
}
}
}
}
示例输入的JSON字符串为:
{
"employees": [
{
"id": "1111",
"email": "email1@gmail.com"
},
{
"id": "2222",
"email": "email2@gmail.com"
}
]
}
要获取员工名单,我使用:
body('Parse_JSON')?['employees']
如何获取id
= 2222
的员工电子邮件?
注意:如果需要,我可以更改JSON模式。
答案 0 :(得分:1)
一年后,我遇到了您的问题,但是仍然没有很好的解决方法。我最终使用了Filter Array
步骤(在“数据操作”下)
然后您可以在此处应用过滤条件。例如id = 1111
这仍然返回一个数组,但是我可以使用Compose
操作来获取数组的first()
元素。我还借此机会使用coalesce()
来设置默认值(如果找不到该值):
coalesce(first(body('Filter_array')).value, 10000)
答案 1 :(得分:-1)
遍历数组和“过滤器数组”,仅保留与'id'= 2222匹配的数组项。如果列表是唯一的,则应仅包含一项。如果有多个条目,请过滤其他一些值。
创建一个变量。
然后,在过滤后的数组上循环查看,并将变量设置为数组项中的任何内容。请注意,最后一项将获胜。如果筛选出的项目不唯一且不相同,可能会导致错误。