使用apache velocity添加变量JSON

时间:2018-02-21 15:41:51

标签: vtl

我需要能够动态地将变量添加到JSON字符串,然后将其转义。是否可以使用VTL执行此操作?

这是我的案例

#set( $foo = "bar" )
#set( $input = $util.escapeJavaScript( '{"foo": $foo }' ))

其中$ foo是动态添加到我想要转义的JSON字符串的变量。

1 个答案:

答案 0 :(得分:1)

我无法向JSON显式添加变量,但解决方法是创建一个对象数组,我将手动转义动态添加的对象,以及添加传入的主体JSON。

就我而言,它是

#set( $body = $util.escapeJavaScript( $input.json('$') )) 
{
    "input": "[$body, {\"id\":\"$context.requestId\" }]"
}