【问题标题】:Mulesoft DataWeave: How to escape $ for quoted stringMulesoft DataWeave:如何为带引号的字符串转义 $
【发布时间】:2020-09-09 19:44:11
【问题描述】:

...我正在使用 Anypoint Studio 7.6 并在 DataWeave 2.0 中编写

我找不到在带引号的字符串中包含 $(美元符号)字符的明确方法。

这是我尝试过的:

%dw 2.0
output application/dw
var sign = "\u0024" // unicode dollar sign
type currency = String {format: "$sign ###.00"} // interpolation from previous var
var cost = 100 as currency
---
{
    directly: "a dollar sign like this: \$",
    asdefined: sign,
    indirectly: "This flight, costs $(cost), and is operated by " 
       ++ payload.airline
}

这是我遇到的麻烦:

{
  directly: "a dollar sign like this: \$",
  asdefined: "\$",
  indirectly: "This flight, costs \$ 100.00, and is operated by United"
}

我觉得我错过了一些简单的东西。

【问题讨论】:

    标签: dataweave mulesoft


    【解决方案1】:

    您好,您所看到的没有问题,只是您使用 application/dw 作为输出。在那种格式中,$ 需要被转义,这就是你看到它的原因。如果您更改为application/json,它们将消失。

    【讨论】:

    • ...这很有帮助!而且很搞笑。我总是告诉人们在编码时使用 application/dw,因为它主要是原谅数据格式错误。但我应该考虑到它会试图向我展示太多。谢谢!
    • 仅作记录,application/dw 只能用于故障排除,不能作为“标准”格式。它对性能和兼容性有影响。默认使用它有忘记它的风险,而且它看起来与 JSON 足够相似以至于不明显。
    【解决方案2】:

    这可能只是因为您的输出是 application/dw。一旦切换到 application/json 或其他 mime 类型,转义应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 2015-10-27
      • 2021-06-01
      • 1970-01-01
      • 2022-11-21
      • 2021-04-01
      • 1970-01-01
      • 2015-12-02
      • 2021-04-14
      • 2010-11-24
      相关资源
      最近更新 更多