【问题标题】:skip null in json in mule在 mule 中跳过 json 中的 null
【发布时间】:2017-02-07 08:33:59
【问题描述】:

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

{ "id":"1234", “价值”:空 }

【问题讨论】:

    标签: json mule


    【解决方案1】:

    在Java组件中处理JSON消息,我通常使用:net.sf.json.JSONObjectnet.sf.json.JsonConfig net.sf.json.util.PropertyFilter.

    将它们放在 transformMessage 方法中,以拦截传入的 JSON 消息并删除所有 null 属性。

    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);
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-15
        • 1970-01-01
        • 1970-01-01
        • 2020-08-29
        相关资源
        最近更新 更多