具有不同数据架构的逻辑应用程序

LogicApps with different data schema

我有以下 HTTP Post 和以下负载

{ “外部代码”:“999”, "name": "PNNL - 华盛顿州温思罗普 (Sundown L)", “描述”:“温思罗普”, "geozoneFlx": "PNL", “状态”:“A”, “地址1”:“日落巷135号”, “城市”:“温特罗普”, “状态”:“WA”, “县”:“奥卡诺根”, “国家”:“美国”, "邮编": "98862-0339", “时区”:“PST”, “开始日期”:“2016-01-27T00:00:00”, “结束日期”:“9999-12-31T00:00:00” },

但是,一些数据消息进入逻辑应用程序时看起来像这样,数据中没有这样的“状态”“名称”

"外部代码": "999", "name": "PNNL - 华盛顿州温思罗普 (Sundown L)", “描述”:“温思罗普”, "geozoneFlx": "PNL", “状态”:“A”, “地址1”:“日落巷135号”, “城市”:“温特罗普”, “县”:“奥卡诺根”, “国家”:“美国”, "邮编": "98862-0339", “时区”:“PST”, “开始日期”:“2016-01-27T00:00:00”, “结束日期”:“9999-12-31T00:00:00” },

不得不说,如果数据报文进来时没有State json Name如上,踢出去。如何筛选缺少的 json 字段,例如上面的“州”?

谢谢

麦克

我想你可以判断state字段的值的长度是否大于0,如果大于0,执行你原来的逻辑,如果值的长度为0,你不需要做任何事情。逻辑应用的设计如下:

如果你的http请求的请求体是一个json数组,你可以使用for each循环来处理。

获取condition中state字段长度的表达式如下:

length(coalesce(body('Parse_JSON')?['state'], ''))

coalesce and length的用法可以参考官方文档