我需要动态提取JSON文件的键值,并将其用作函数中的参数。在下面的示例中,我想从JSON(名字)派生第一个键,然后使用它来获取“ Bob”以返回。下面的代码段包含了什么有效和什么无效的粗略概念。在生成json文件之前,我不知道名字是关键值,所以我真的很想让最后一行开始工作。
即使控制台为我的变量fName记录了“名字”,当我稍后使用fName时,它也会返回未定义的信息。
var person = [];
person = [{'firstname' : 'John', 'lastname': 'Doe'},{'firstname': 'Bob', 'lastname': 'Smith'}]
var kPeeps = Object.keys(person[1]);
var fName = kPeeps[0];
console.log(kPeeps); // Keys of person - returns firstname, lastname
console.log(fName); // Item 1 in the array of Keys - returns firstname
console.log(person[1].firstname); //Works - Returns Bob
console.log(person[1].fName); //Not so much - Returns Undefined
答案 0 :(得分:0)
如果您需要简单快速的解决方案,则需要将 person [1] .fName 更改为 person [1] [fName]
var person = [];
person = [{'firstname' : 'John', 'lastname': 'Doe'},{'firstname': 'Bob', 'lastname': 'Smith'}]
var kPeeps = Object.keys(person[1]);
var fName = kPeeps[0];
console.log(kPeeps); // Keys of person - returns firstname, lastname
console.log(fName); // Item 1 in the array of Keys - returns firstname
console.log(person[1].firstname); //Works - Returns Bob
console.log(person[1][fName]); //Now it should return Bob
答案 1 :(得分:0)
您可以如下使用 人[1] [fName]