【问题标题】:How to get a value from a string value that is coming in a payload,如何从有效载荷中的字符串值中获取值,
【发布时间】:2021-01-26 11:58:17
【问题描述】:

我正在获取一个有效负载,其中包含一些具有例如值的键

1. mulesoft[04444]
2. muleworld[88990]

现在我想在这里提取方括号中的内容。

我们来看一个实际的问题,这里是传入的payload

{
    "message": "Hello world[009]",
    "sender" : "myself[001]",
    "to": "friend[0089]"
}

这里我想在数据编​​织代码中创建一个 Mulesoft 函数,我可以使用它来提取方括号中的值

请为此编写一个 DWL 代码。

【问题讨论】:

  • 到目前为止你做了什么 - 请向我们展示你的代码。
  • 我在转换消息中编写了这个脚本。 ``` %dw 2.0 import * from dw::core::Strings output application/json fun extract(key)= substringBefore((substringAfter(key, "[")),"]") --- { value: extract (payload.message) } ``` 谢谢

标签: mule mulesoft mule-esb


【解决方案1】:

我今天在其中一个 API 中遇到了这个问题,所以我想我也应该与其他人分享这个问题。 我已经为它编写了如下的 DWL 代码

%dw 2.0
import * from dw::core::Strings
output application/json
fun extract(key)= substringBefore((substringAfter(key, "[")),"]")
---
{
    value: extract(payload.message)
}

它给了我想要的 o/p

{
  "value": "009"
}

谢谢

【讨论】:

    【解决方案2】:

    假设 [] 中的内容将构成给定文本的最后一部分,您也可以试试这个:

    ((payload.message splitBy("["))[1]) replace ("]") with ""
    

    【讨论】:

      猜你喜欢
      • 2020-04-26
      • 1970-01-01
      • 2021-11-02
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多