在mule的json中跳过null

时间:2017-01-30 04:12:05

标签: json mule

我有一个以下的json作为回应。 我想在发送到目标之前删除null。 如何从Mule / Java组件中的json跳过空值也没问题。 注意:因为我使用的是社区版,所以我没有使用数据编织。

{ " ID":" 1234&#34 ;, "值":空 }

2 个答案:

答案 0 :(得分:0)

最简单的部分是使用Dataweave,但正如您所提到的,您正在使用社区版本,在这种情况下,我建议您创建自己的自定义转换器,在此处获取此有效负载并手动检查此空值并将其删除。

答案 1 :(得分:0)

要处理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);