首页 > 解决方案 > 解析 JSON 对象,其值作为单引号字符串传递

问题描述

我在 lambda 调用中获取 aws 事件参数,如下所示。 let event = { pathParameters: '{"foo":"35314"}' }

当我试图验证条件中的参数时,它找不到foo关键pathParameters

这是我的状况检查

if (event.pathParameters && event.pathParameters.foo) {
   //do something
} else {
   console.log('fail');
}

它处于else状态。我试过了JSON.parse(JSON.strinify(event))。它没有帮助。如果我这样做了,我确实得到了对象JSON.parse(event.pathParameters)。解决根级别对象问题的任何方法。

标签: javascriptjsonnode.jsobject

解决方案


不,您无法解析event访问'{"foo": "35314}'",您需要解析event.pathParameters值以获取实际foo值及其值,35314

let event = { pathParameters: '{"foo":"35314"}' }

if (event.pathParameters && JSON.parse(event.pathParameters).foo) {
   console.log("'foo' =", JSON.parse(event.pathParameters).foo);
} else {
   console.log('fail');
}


推荐阅读