You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda与API Gateway集成:请求Body无法访问值问题求助

解决AWS Lambda中event.body无法访问属性的问题

API Gateway传给Lambda的event.body本质是JSON字符串,不是解析后的对象,所以直接用点运算符或方括号访问属性会失效。

正确处理步骤

  1. 先将event.body解析为JavaScript对象:
const parsedBody = JSON.parse(event.body);
  1. 解析完成后,就可以正常访问所有属性:
  • 获取message:
console.log(parsedBody.message); // 输出 "This is a dummy message"
  • 遍历items中的所有菜品:
for (const itemKey in parsedBody.items) {
  const dish = parsedBody.items[itemKey];
  console.log(`菜品:${dish.name},价格:${dish.price},数量:${dish.qty}`);
}
  • 访问特定key的菜品:
const chickenTandoori = parsedBody.items["1681393109842MIN:01GXX9JHKHP5ZDW92NRRNPBHA4"];
console.log(chickenTandoori.name); // 输出 "Chicken Tandoori"

为什么之前的方案无效

  • 直接用方括号访问:因为event.body是字符串,不是对象,字符串的方括号只能访问字符索引,无法读取JSON结构里的属性
  • 深拷贝对象:拷贝的是原始的JSON字符串,没有完成解析,自然还是无法访问对象属性

内容的提问来源于stack exchange,提问作者Debarka Mondal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 07:52:11