在AWS AppSync响应映射模板中排序列表遇问题求助
问题分析与解决
你遇到的核心问题是没有在响应映射模板中实际执行排序操作——你的代码仅构建了结果列表,但从未调用$util.list.sortList方法对其进行排序,自然不会得到有序的输出。
修复后的响应映射模板代码
#set($results = []) #foreach($res in $ctx.result.items) #set($item = {}) $util.qr($item.put("imageId", $res.SK)) $util.qr($item.put("url", $res.URL)) $util.qr($item.put("position", $res.Position)) $util.qr($results.add($item)) #end # 执行排序:原地修改$results列表,false表示升序,"position"为排序字段 $util.list.sortList($results, false, "position") $util.toJson($results)
关键说明
$util.list.sortList是原地修改列表的方法,调用后原$results列表会被直接排序,无需重新赋值- 确保
position字段是数值类型(你的返回结果中已符合),如果是字符串类型会导致字典序排序错误 - 第二个参数
false对应升序,传true则为降序
内容的提问来源于stack exchange,提问作者Niklas Wallerstedt
相关产品推荐
相关产品推荐

