我有一个跟随的json作为响应。 我想在发送到目标之前删除空值。 如何从Mule/Java组件中跳过json的空值也很好。 注意:自从我使用社区版以来,我没有使用dataweave。跳过json中的mule
{ “ID”:“1234”, “值”:空 }
我有一个跟随的json作为响应。 我想在发送到目标之前删除空值。 如何从Mule/Java组件中跳过json的空值也很好。 注意:自从我使用社区版以来,我没有使用dataweave。跳过json中的mule
{ “ID”:“1234”, “值”:空 }
为了应对Java组件JSON消息,我通常使用:net.sf.json.JSONObject,net.sf.json.JsonConfig和net.sf.json.util.PropertyFilter。
将它们放入transformMessage方法中,以拦截传入的JSON消息并删除所有空属性。
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setJsonPropertyFilter(new PropertyFilter() {
@Override
public boolean apply(Object source, String name, Object value) {
return (value == null);
}
});
return JSONObject.fromObject(message.getPayload(), jsonConfig);
最简单的部分是使用Dataweave但你提到你正在使用的社区版在这种情况下,我会建议创建你自己的自定义转换器,你得到这个有效载荷,并手动检查这个空值并删除它。