如何在应用程序同步结果解析器中过滤将json对象添加到数组中?

时间:2018-08-10 06:15:58

标签: amazon-web-services amazon-dynamodb aws-appsync

您好,我有以下解析器响应映射模板。 我需要过滤查询的结果,并检查嵌套的数组对象是否包含特定的学生ID并添加到数组中。同样,将isUserAudio布尔值为true的任何对象也添加到数组中。数组res映射到json。

我发现很难将项目添加到数组中。我得到的结果是空数组。

## Pass back the result from DynamoDB. **
#set($data = $util.toJson($ctx.result))
#set( $temp = {} )
#set($res = [])
#foreach( $item in $data )
  $util.qr($res.add($util.toJson($item)))
  #if($item.isUserAudio)
    $util.qr($res.add($item)) # issue here. How to add json object to array.
  #else
    #foreach( $b in $item.studentBookmarks )
      #if($b.studentId == $ctx.identity.username)
          $util.qr($res.add($item))
      #end
    #end
  #end
#end

$util.qr($temp.put("items", $res))
$util.qr($temp.put("nextToken", null))
$util.toJson($temp)
## $util.toJson($ctx.result)

获得以下结果

{
  "data": {
    "getMyBookmarks": {
      "items": [],
      "nextToken": null
    }
  }
}

0 个答案:

没有答案