我有一个.json文件,如下所示:
{【宽度】:700,【高度】:1382,“数据ID”:{“标识1”:“54321”,“标识2”:“一二三四五”} }
我需要动态地获取id 1或id 2键的值(使用变量)。我使用Cypress函数cy.read(),通过使用明确的字符串,它工作得很好:
cy.readFile(pathToConfigFile).then(($file) => {
const id1value = $file.dataID.id1;
});
但是如何将这个表达式 Package 成包含id 1的变量呢?还有一个类似的问题:Dynamically access object property using variable然而,这里提出的解决方案仅涉及第一级深度。使用方括号,我可以得到以下值:
cy.readFile(pathToConfigFile).then(($file) => {
const customVariable = "dataID";
const id1value = $file[customVariable];
});
但在它返回id 1value = undefined的情况下:
cy.readFile(pathToConfigFile).then(($file) => {
const customVariable = "dataID";
const id1 = "id1";
const id1value = $file[customVariable][id1];
});
1条答案
按热度按时间n53p2ov01#
您需要在第一次检查之后检查变量的值,以便知道是否可以读取第二层的值。
如果愿意,可以返回一些默认值,而不是
undefined
。也有一些软件包可以自动完成这个任务,比如lodash的
_.get()
方法。