将字符串解析为JSON

Aam*_*nan 1 velocity template-engine

我有一个对象数组,$arr一个对象有一个名为的属性,jsonData其中包含一个字符串中的json数据,如何将该字符串解析为实际的JSON对象,并检索让我们说键的值name?我试过这个:

#foreach ($obj in $arr)
    #set ($jsonData = "#evaluate(${obj.jsonData})")
    $jsonData.get("name")  ## <-- not working
#end
Run Code Online (Sandbox Code Playgroud)

g.o*_*.t. 10

如果在AWS API Gateway中使用velocity的任何人在此处结束,您可以使用AWS'

$ util.parseJson()将字符串转换为JSON.

请务必注意您的字符串是使用单引号还是双引号.在解析字符串之前,您可能需要使用$ util.escapeJavaScipt.replaceAll().


Aam*_*nan 6

像这样修复它:

#foreach ($obj in $arr)
    #set( $jsonData = '#set( $jsonData = ' + $obj.jsonData + ' )' )
    #evaluate ($jsonData)
    $jsonData.get("name")  ##<-- works now
#end
Run Code Online (Sandbox Code Playgroud)

我正在使用velocity 1.7