javascript - 如何解决 eslint "Generic Object Injection Sink"错误?

标签 javascript json node.js eslint

我正在尝试读取一个 JSON 数组。每次我尝试通过像这样传递 JSON 对象键来读取数组/值时-

json[key]

它显示 Eslint 错误-

[eslint] Generic Object Injection Sink (security/detect-object-injection)

我知道这是一个安全警告,因为 key 可能不存在。但是我该如何解决这个警告呢?有没有更简单的方法来读取 Json 对象。我的计划是将“key”传递给函数,并根据key读取json。

最佳答案

您正在搜索 ES lint 错误修复:

这是它的语法

json [`${key}`]

例子:

const obj = { 
    eventName: 'Music event', 
    landingPic: 'landing.jpg',
    eventPic0: 'pic0.jpg',
    eventPic1: 'pic1.jpg',
    eventPic2: 'pic2.jpg',
    eventPic3: 'pic3.jpg',
    artist: 'Elie'
};

// array of keys which need to  be read
const arrayOfKey = ['landingPic', 'eventPic0', 'eventPic1',  'eventPic2',  'eventPic3'];

// let's read the value by a key in array
arrayOfKey.forEach( key => {
    const value = obj[`${key}`];
    console.log(value);
});

关于javascript - 如何解决 eslint "Generic Object Injection Sink"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51273469/

相关文章:

javascript - 我们如何信任 npm 模块?

javascript - mousedown 事件没有发生

javascript - 如何获取<p>标签中的搜索框值 - HTML,JS

javascript - Vue.js 3 this.$root.$on 不是函数

c# - 使用 EF 和 WebApi 将父/子对象序列化为

元组格式的python json数据不可解析

node.js - 正确的持久化技术

javascript - 如何使顶部菜单中的下拉菜单无延迟/动画显示?

json - 如何查询youtube api以返回yt $ videoid?

node.js - Express 没有设置 cookie