我正在尝试读取JSON数组。每次我尝试通过传递像这样的JSON对象键来读取数组/值时-
json[key]
它显示一个Eslint错误-
[eslint] Generic Object Injection Sink (security/detect-object-injection)
我了解其安全警告,因为该密钥可能不存在。但是我该如何解决此警告?有没有更简单的方法来读取Json对象。我的计划是将“键”传递给函数,并根据键读取json。
答案 0 :(得分:1)
您正在搜索ES皮棉错误修复程序:
这是它的语法
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);
});
答案 1 :(得分:0)
它试图说的是使用这种表示法:
此处以分析方式描述了该主题,并提供了一个简单示例: