Javascript JSON透视图
假设我有一个JSON文档/JavaScript对象,如下所示:Javascript JSON透视图,javascript,json,Javascript,Json,假设我有一个JSON文档/JavaScript对象,如下所示: var animal = { "squirrel": "Squirrels belong to a large family of small or medium-sized rodents called the Sciuridae." } 在JavaScript中,这种情况会发生: console.log(animal.squirrel) //Squirrels belong to a large family of sma
var animal = {
"squirrel": "Squirrels belong to a large family of small or medium-sized rodents called the Sciuridae."
}
在JavaScript中,这种情况会发生:
console.log(animal.squirrel) //Squirrels belong to a large family of small or medium-sized rodents called the Sciuridae
假设我想将rank
对象添加到:
var animal = {
"squirrel": {
"rank": {
"Kingdom": "Animalia",
"Phylum": "Chordata",
"Class": "Mammalia",
"Order": "Rodentia",
"Suborder": "Sciuromorpha",
"Family": "Sciuridae"
}
}
}
该等级可以访问,如下所示:
animal.squirrel.rank
但是我仍然希望animal.squirrel
对象的顶层是包含上述句子的字符串
这可能吗?这在JSON中是不可能的。然而,在JavaScript中,您可以做一些事情。您可以提供将对象转换为字符串时要使用的
toString
方法:
var animal = {
"squirrel": {
"rank": {
"Kingdom": "Animalia",
"Phylum": "Chordata",
"Class": "Mammalia",
"Order": "Rodentia",
"Suborder": "Sciuromorpha",
"Family": "Sciuridae"
},
toString: function() {
return "Squirrels belong to a large family of small or medium-sized rodents called the Sciuridae.";
}
}
};
您还可以使用字符串对象:
var animal = {
squirrel: new String("Squirrels belong to a large family of small or medium-sized rodents called the Sciuridae.")
};
animal.squirrel.rank = {
"Kingdom": "Animalia",
"Phylum": "Chordata",
"Class": "Mammalia",
"Order": "Rodentia",
"Suborder": "Sciuromorpha",
"Family": "Sciuridae"
};
后者的行为更像一个字符串,但它使用一个string
对象,这有时会让人沮丧,而且通常是不好的做法。正如其他人所说,这在任何对象上下文中都是不可能的,因此您需要将所有内容作为对象上/中的可访问部分来处理
var animal = {
"squirrel": {
"info": "Squirrels belong to a large family of small or medium-sized rodents called the Sciuridae.",
"rank": {
...
}
}
}
而且,我想,您可以为共性设置快速访问器
function getAnimalInfo(animalName) {
if (!animal[animalName]) return "No info for: " + animalName;
return animal[animalName].info;
}
所以
哦,你比我快一分钟@你可以在这里看到:我喜欢这个。有些东西是干净的。还是希望我能用动物。松鼠。
console.log(getAnimalInfo("squirrel")); //Squirrels belong to a large family of small or medium-sized rodents called the Sciuridae