我当前的有效负载是(从POST接收)
<?xml version='1.0' encoding='ISO-8859-1'?>
<test>
</test>
我想获取编码值(即ISO-8859-1
)
要使用什么正确的DataWeave表达式?
我已经测试过
var infos = payload.^mediaType splitBy "; "
var encoding = infos[1] splitBy "="
---
media:
{
mime: infos[0],
encoding: encoding[1]
}
但它返回我:
{
"mime": "application/xml",
"encoding": "UTF-8"
}
似乎payload.^mediaType
来自我的POST标头。
这里是解决问题的方法:
%dw 2.0
output application/java
---
((payload.^raw as String) scan /encoding='([A-z0-9-]+)'/)[0][1]
在建议的解决方案中,缺少^符号。