首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dataweave 2.0 withMaxSize函数

Dataweave 2.0 withMaxSize函数
EN

Stack Overflow用户
提问于 2020-12-05 19:24:00
回答 2查看 798关注 0票数 2

我在外部dwl文件中进行了转换。我试图使用'withMaxSize‘来限制字符串的大小。但我的问题还没解决。

代码语言:javascript
复制
fun providerObjMapping(payload) = (if(! isEmpty(payload.ProviderUniqueID) ) {

  providerUniqueID:payload.ProviderUniqueID dw::core::Strings::withMaxSize 3,
  npi:payload.NPI,
  salutation:payload.Salutation,
  firstName:payload.FirstName,
  middleName:payload.MiddleName

  }else {})

“”脚本‘%dw2.0导入*来自dw::appian_crf_mapping

代码语言:javascript
复制
output application/json
---
generateObj(vars.tableName, payload) ' has errors:


    Unable to resolve reference of dw::core::Strings::withMaxSize. at 29 : 29" evaluating expression: "%dw 2.0
import * from dw::appian_crf_mapping

output application/json
---
generateObj(vars.tableName, payload)"."

下面是我尝试过的方法。

  1. providerUniqueID:payload.ProviderUniqueID dw::core::Strings::withMaxSize 3-不工作
  2. maxLength(数据)= data::core::maxLength::withMaxSize 3 maxLength-不工作
  3. 导入* dw::core::Strings maxLength( data ) =data withMaxSize 3 withMaxSize 3

运行时: 4.2.1在这里输入图像描述

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-05 20:16:21

根据MuleSoft文档,withMaxSize是在Mule运行时4.3.0或更高版本(https://docs.mulesoft.com/mule-runtime/4.3/dw-strings-functions-withmaxsize)支持的DataWeave 2.3.0中引入的。

在使用Mule运行时4.2.1时,可以将withMaxSize函数实现为:

代码语言:javascript
复制
%dw 2.0
output application/json

fun withMaxSize(val, maxSize) = val[0 to (((min([sizeOf(val), maxSize])) as Number) - 1)]
---
withMaxSize(payload.message, 3)
票数 2
EN

Stack Overflow用户

发布于 2020-12-05 20:16:53

withMaxSize函数:它只提供4.3.0运行时或更高版本。

请查看我们的Relaese注释以获得更多信息:发布说明4.3.0运行时

请使用4.3.0版本的运行时.It将为您工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65161022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档