如果我有一个Json文件,看起来像这样:
{
"numbers":{
"firstnum":"one",
"secondnum":"two",
"thirdnum":"three",
"fourthnum":"four",
"fifthnum":"five"
}
}
我想用JavaScript得到第三个数字(三(的值。与其做。。。
jsonObject.numbers.thirdnum
有没有一种方法可以使用某种子项或索引方法来选择该值?例如类似这样的东西。。。
jsonObject.numbers.children[2]
首先必须将JSON转换为JavaScript:
const object = JSON.parse(string_of_json);
然后,您可以在Object
类上使用适当的方法获得对象属性、键或两者的数组。
Object.keys(object.numbers)[2];
Object.values(object.numbers)[2];
Object.entries(object.numbers)[2];
由于订单没有保证,除非您想对收到的每一件物品采取措施,否则这通常不会有用。
如果您想按位置访问它们,那么通常应该编写原始JSON以使用数组而不是对象。
{
"numbers": [ "one", "two", "three", "four", "five" ]
}
您可以使用Object.values
将值转换为数组并附加索引。
obj = {
"numbers":{
"firstnum":"one",
"secondnum":"two",
"thirdnum":"three",
"fourthnum":"four",
"fifthnum":"five"
}
}
console.log(Object.values(obj.numbers)[3])
解析JSON后,它变成了Object,因此
const obj = {
"numbers": {
"firstnum":"one",
"secondnum":"two",
"thirdnum":"three",
"fourthnum":"four",
"fifthnum":"five"
}
};
console.log(obj.numbers[Object.keys(obj.numbers)[2]]);