[英]How to map over json and set the key name to a variable with a matching string
我从这个函数的event.body
返回了以下 json(我认为是键值对) event.body
exports.handler = async (event, context, callback) => {
{"name":"Anders","package":"Silver","email":"email@email.com","subject":"fdsafa","weightLoss":"false","strength":"on","message":"test"}
我想知道如何迭代它并检查任何值何时为假,如果为假,将值更改为键名?
所以在伪代码中是这样的
映射 event.body,并检查是否有任何键的值等于 false,如果是,则创建一个带有键名和键名值作为字符串的变量。
所以在这个例子 json 中,将创建一个名为weightLoss
变量var weightLoss = "weightLoss"
更新一些我正在尝试做的更多代码
exports.handler = async (event, context, callback) => {
const payload = JSON.parse(event.body)
const body1 = event.body;
Object.entries(body1).forEach(([key, value]) => {
if (value === 'false') {
body1[key] = key;
}
});
console.log(body1);
const { email, subject } = payload
...
所以这都是测试一个值是否在表单中被选中。 所以我从控制台得到的输出取决于它是否被检查。
检查
{"name":"Anders","package":"Silver","email":"email@email.com","subject":"fdsafa","weightLoss":"on","strength":false,"message":"fdsasfdsdafsdafasdfasd"}
未经检查
{"name":"Anders","package":"Silver","email":"email@email.com","subject":"fdsafa","weightLoss":false,"strength":false,"message":"fdsasfdsdafsdafasdfasd"}
你可以这样做:
const body = {"name":"Anders","package":"Silver","email":"email@email.com","subject":"fdsafa","weightLoss":"false","strength":"on","message":"test"}; Object.entries(body).forEach(([key, value]) => { if (value === 'false') { body[key] = key; } }); console.log(body);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.