Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按编号而不是名称选择JSON对象_Javascript_Json - Fatal编程技术网

Javascript 按编号而不是名称选择JSON对象

Javascript 按编号而不是名称选择JSON对象,javascript,json,Javascript,Json,我尝试用多种语言存储包含信息的JSON对象。我甚至不确定他们这样做是否好,欢迎任何建议 我现在的问题是,如果不知道第一语言是什么,我就不知道如何使用它 var Data = { "NameIntern": "Something intern", "en": { "Name": "Some name", "ModuleOrder": "123,333,22" } }; document.write(数据[1].名称) 我只想访问第二个对象,有

我尝试用多种语言存储包含信息的JSON对象。我甚至不确定他们这样做是否好,欢迎任何建议

我现在的问题是,如果不知道第一语言是什么,我就不知道如何使用它

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。很抱歉,缺少信息,我想我让它更混乱了。