You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DataWeave 2.0中根据运行时参数创建指定嵌套JSON对象

DataWeave 2.0中动态生成指定结构JSON对象的实现方法

基础实现

只需将运行时传入的状态值直接嵌入JSON结构即可,具体取决于状态值的来源(比如payload、变量、属性等):

%dw 2.0
output application/json
// 根据实际来源调整状态值的获取方式,比如vars.desiredState或attributes.desiredState
var targetState = payload.desiredState
---
{
    application: {
        desiredState: targetState
    }
}

可选值合法性校验

为了避免非法值传入,可添加校验逻辑,确保状态值仅为STOPPED或STARTED:

%dw 2.0
output application/json
var inputState = payload.desiredState
var validState = if (inputState among ["STOPPED", "STARTED"]) 
                     inputState 
                 else 
                     // 这里可选择抛出错误或设置默认值,示例为抛出错误
                     error("Invalid desiredState: allowed values are STOPPED or STARTED")
---
{
    application: {
        desiredState: validState
    }
}

函数化封装(复用场景)

如果需要多次生成该结构,可以封装成函数,运行时传入状态参数调用:

%dw 2.0
output application/json
fun buildAppState(state: String): Object = {
    application: {
        desiredState: state
    }
}
// 调用示例,替换成运行时实际参数即可
---
buildAppState("STARTED")

内容的提问来源于stack exchange,提问作者Andy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 03:45:39