Javascript 按编号而不是名称选择JSON对象
我尝试用多种语言存储包含信息的JSON对象。我甚至不确定他们这样做是否好,欢迎任何建议 我现在的问题是,如果不知道第一语言是什么,我就不知道如何使用它Javascript 按编号而不是名称选择JSON对象,javascript,json,Javascript,Json,我尝试用多种语言存储包含信息的JSON对象。我甚至不确定他们这样做是否好,欢迎任何建议 我现在的问题是,如果不知道第一语言是什么,我就不知道如何使用它 var Data = { "NameIntern": "Something intern", "en": { "Name": "Some name", "ModuleOrder": "123,333,22" } }; document.write(数据[1].名称) 我只想访问第二个对象,有
var Data = {
"NameIntern": "Something intern",
"en": {
"Name": "Some name",
"ModuleOrder": "123,333,22" }
};
document.write(数据[1].名称)代码>
我只想访问第二个对象,有时是“en”,有时是“de”
谢谢你的小费
var数据={
“实习医生”:“实习医生”,
“en”:{
“名字”:“某个名字”,
“模块顺序”:“123333,22”}
};
var指数=0;
$。每个(数据、函数(键、值){
指数+=1;
如果(索引==2){
//key是语言,如本例中的key是'en'
控制台日志(键);
}
});代码>
var数据={
“实习医生”:“实习医生”,
“en”:{
“名字”:“某个名字”,
“模块顺序”:“123333,22”}
};
var指数=0;
$。每个(数据、函数(键、值){
指数+=1;
如果(索引==2){
//key是语言,如本例中的key是'en'
控制台日志(键);
}
});代码>这里是一个纯javascript解决方案:
首先:获取对象的关键点:
var keys = Object.keys(Data);
然后:密钥存储在一个数组中。您可以使用索引访问它们。比如:
Data[keys[0]]
现在:您可以使用foor循环或任何您想要的:)这里是一个纯javascript解决方案:
首先:获取对象的关键点:
var keys = Object.keys(Data);
然后:密钥存储在一个数组中。您可以使用索引访问它们。比如:
Data[keys[0]]
现在:您可以使用foor循环或任何您想要的工具:)数据是一个对象,而不是它的数组,因此您无法像数据一样访问它[0]您可以像数据一样访问它
但是,正如您所说,您对en或de一无所知,因此我建议您像这样形成数据对象:
var Data =[{
lang:"en",
langData:{
Name:"Some name"
}
}]数据是一个对象,而不是它的数组,因此您不能像访问数据一样访问它[0]您可以像访问数据一样访问它。en
但是,正如您所说,您对en或de一无所知,因此我建议您像这样形成数据对象:
var Data =[{
lang:"en",
langData:{
Name:"Some name"
}
}]
(Data.en | | Data.de | |{})
get的Data.en或Data.de值如果两者都不存在,则返回空对象,这样脚本就不会对Name属性引发异常
()['Name']
与myObject['Name']
相同,myObject.Name
将值赋给名称
变量,它至少是某个名称或未定义的
如果您有更多语言,请将它们全部添加,注意:它将返回第一个找到的语言
var name = (Data.en || Data.de || Data.ru || Data.fr || {})['Name'];
(Data.en | | Data.de | |{})
get的Data.en或Data.de值如果两者都不存在,则返回空对象,这样脚本就不会对Name属性引发异常
()['Name']
与myObject['Name']
相同,myObject.Name
将值赋给名称
变量,它至少是某个名称或未定义的
如果您有更多语言,请将它们全部添加,注意:它将返回第一个找到的语言
var name = (Data.en || Data.de || Data.ru || Data.fr || {})['Name'];
使用Object.keys
方法获取对象属性名称列表:
console.log(Data[Object.keys(Data)[1]]['Name']); // "Some name"
使用Object.keys
方法获取对象属性名称列表:
console.log(Data[Object.keys(Data)[1]]['Name']); // "Some name"
数据
对象中是否始终只有两个属性?是否可以有两个以上的属性?是否可以有两种以上的语言?或者,如果更多,添加其他属性,无论如何,您肯定有固定的语言翻译数据对象中总是只有两个属性吗?可能是两个以上的属性可能是两种以上的语言吗?或者,如果更多的话,再加上其他的,无论如何你肯定有固定的语言翻译这在纯javascript中对我的测试数据有效。但是我没有提到我使用node.js、mongodb和ejs时没有在node.js上安装Jquery。很抱歉缺少信息,我想我让它更混乱了。这在纯javascript的testdata中起到了作用。但是我没有提到我使用node.js、mongodb和ejs时没有在node.js上安装Jquery。很抱歉,缺少信息,我想我让它更混乱了。