AWS Lambda函数返回多行JSON时出现语法错误如何解决?
问题原因及解决方案
你遇到的报错是JSON格式的尾逗号不符合语法规范导致的。
JSON语法要求:对象内的多个键值对之间用逗号分隔,但最后一个键值对的末尾不允许添加逗号。你写多组返回字段时,应该是给非末尾的字段后面加了逗号,保留所有字段时,最后一组字段前的逗号就变成了上一组字段的尾逗号,违反JSON语法触发解析错误。注释掉一行字段后,剩余的唯一字段没有多余尾逗号,符合语法所以可以正常运行。
错误写法示例(尾逗号导致报错)
{ "statusCode": 200, "body": "返回内容", }
上述代码中"body": "返回内容"后的多余逗号就是报错的核心原因。
正确多字段JSON写法
{ "statusCode": 200, "headers": { "Content-Type": "application/json" }, "body": "返回内容" }
仅在非末尾的键值对后添加逗号即可。
日常写JSON时可以留意代码编辑器的语法高亮提示,多余的尾逗号一般会被直接标红提醒,也可以提前用本地JSON校验工具检查格式避免出错。
内容的提问来源于stack exchange,提问作者Kunal Jain
相关产品推荐
相关产品推荐

