使用 apache 速度添加变量 JSON

Add variable JSON with apache velocity

我需要能够动态地将变量添加到 JSON 字符串,然后将其转义。可以用 VTL 做到这一点吗?

这是我的案例

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

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

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

在我的例子中是

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