【问题标题】:How to substring in dataweave如何在dataweave中子串
【发布时间】:2016-06-04 21:32:37
【问题描述】:

我在输入中得到一个字段 AnnualRevenue,我必须寻找条件,如果该字段中有小数,我想将其代入整数,但如果它不是小数,则通过没有任何转变。谁能告诉我如何在 mulesoft 的 dataweave 中实现这一点。

【问题讨论】:

    标签: mule mule-studio dataweave


    【解决方案1】:

    对于另一种选择,您可以使用正则表达式:

    %dw 1.0
    %output application/java
    ---
    {
        result: "123.45" replace /(\.[0-9]*)/ with ""
    }
    

    【讨论】:

      【解决方案2】:

      除了 subtring 之外,您还可以通过创建一个全局 MEL 函数来使用 MEL/java 的整数转换,然后在您的 dataweave 表达式中使用它。

      <configuration doc:name="Configuration">
          <expression-language>
              <global-functions>
                  def removeDecimal(value) {
                  return (long) value
                  }
              </global-functions>
          </expression-language>
      </configuration>
      

      然后在您的数据编织表达式中:

      %dw 1.0
      %output application/json
      ---
      {
          "result": removeDecimal(-21.83)
      }
      

      希望对你有帮助。

      干杯

      【讨论】:

        【解决方案3】:
        input:
        
        <employees>
          <employee>
          <name>salumiah-syed</name>
          </employee>
        </employees>
        
        %dw 1.0
        %output application/xml 
        ---
        result: (payload.employees.employee.name splitBy "-") [0] 
        

        【讨论】:

          【解决方案4】:

          或者

          %dw 1.0
          %output application/java
          ---
          {
               value: "123.45",    
               result: ("123.45" as :number) as :string {format: "#"}
          }
          

          参考:https://docs.mulesoft.com/mule-runtime/3.9/dataweave-operators#coerce-to-string

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-10-18
            • 2019-08-05
            • 2020-03-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-01-26
            相关资源
            最近更新 更多