JSON perspective
JSON perspective
本文关键字:perspective JSON 更新时间:2023-09-26
假设我有一个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 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.";
}
}
};
您还可以使用 String
对象:
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
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用JQuery解析JSON嵌套数组
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何使用json将对象列表从java转换为javascript
- 如何使用 node.js 比较两个 json 数组
- 如何将JSON数据导入我的ejs模板
- 区分JSON中的矩阵和列表列表
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 如何为json对象中的段发送array[]
- 根据id将json数组组合为一个json数组
- Json数据包含日期和时间格式
- AngularJS-在JSON选择器中使用变量名
- JSON perspective