Javascript 创建多维数组和JSON解析
我这儿有把小提琴 我有这样的数据Javascript 创建多维数组和JSON解析,javascript,json,Javascript,Json,我这儿有把小提琴 我有这样的数据 var info={ "company1":[ {"employee":"*2"}, {"rooms":"*6"}, {"vehicals":"3"}, ], "company2":[ {"employee":"*2"}, {"rooms":"*6"}, {"vehicals":"3"}, ], "company3":[ {"employee":"*2"}, {"rooms":"*6"}, {"
var info={
"company1":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
],
"company2":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
],
"company3":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
]
我从json文件中获取数据。
我想做的是,我想创建独立的公司变量,这样我就可以在没有其他公司数据的情况下快速加载它们
所以我要做的就是
var companiesArray=[];
for(company in info){
console.log("company--> "+company);//company1,2,etc
var detailsArray=[];
for(var i=0;i<info[company].length;i++)
{
//loop through the inner array which has the detials
for(var details in info[company][i]){
var detailsValue=info[company][i][details];
detailsArray[details]=detailsValue;
}
}
companiesArray[company]=[company,detailsArray];
}
companiesArray['company1'].employee
companiesArray['company1'].employee
我想做的是
var companiesArray=[];
for(company in info){
console.log("company--> "+company);//company1,2,etc
var detailsArray=[];
for(var i=0;i<info[company].length;i++)
{
//loop through the inner array which has the detials
for(var details in info[company][i]){
var detailsValue=info[company][i][details];
detailsArray[details]=detailsValue;
}
}
companiesArray[company]=[company,detailsArray];
}
companiesArray['company1'].employee
companiesArray['company1'].employee
我哪里出错了?您必须像这样形成json:
var info={
"company1": {
"employee":"*2",
"rooms":"*6",
"vehicals":"3"
},
"company2": {
"employee":"*2",
"rooms":"*6",
"vehicals":"3"
},
"company3": {
"employee":"*2",
"rooms":"*6",
"vehicals":"3"
}
};
使用大括号({})而不是括号([])来创建可以使用点符号访问的对象,如下所示:
info.company1.employee
您必须像这样形成json:
var info={
"company1": {
"employee":"*2",
"rooms":"*6",
"vehicals":"3"
},
"company2": {
"employee":"*2",
"rooms":"*6",
"vehicals":"3"
},
"company3": {
"employee":"*2",
"rooms":"*6",
"vehicals":"3"
}
};
使用大括号({})而不是括号([])来创建可以使用点符号访问的对象,如下所示:
info.company1.employee
您必须像这样形成json:
var info={
"company1": {
"employee":"*2",
"rooms":"*6",
"vehicals":"3"
},
"company2": {
"employee":"*2",
"rooms":"*6",
"vehicals":"3"
},
"company3": {
"employee":"*2",
"rooms":"*6",
"vehicals":"3"
}
};
使用大括号({})而不是括号([])来创建可以使用点符号访问的对象,如下所示:
info.company1.employee
您必须像这样形成json:
var info={
"company1": {
"employee":"*2",
"rooms":"*6",
"vehicals":"3"
},
"company2": {
"employee":"*2",
"rooms":"*6",
"vehicals":"3"
},
"company3": {
"employee":"*2",
"rooms":"*6",
"vehicals":"3"
}
};
使用大括号({})而不是括号([])来创建可以使用点符号访问的对象,如下所示:
info.company1.employee
我同意@Pavel Gatnar和@Guillaume。这是一个非常糟糕的数据结构。如果您不能仅更改结构,那么应该使用以下代码
var info = {
"company1": [{
"employee": "*2"
}, {
"rooms": "*6"
}, {
"vehicals": "3"
}],
"company2": [{
"employee": "*2"
}, {
"rooms": "*6"
}, {
"vehicals": "3"
}],
"company3": [{
"employee": "*2"
}, {
"rooms": "*6"
}, {
"vehicals": "3"
}]
};
var companies = {},
companyNames = Object.keys(info);
companyNames.forEach(function (companyName) {
var companyInfo = info[companyName],
company = {};
companyInfo.forEach(function (properties) {
var innerPropertyName = Object.keys(properties);
innerPropertyName.forEach(function (property) {
company[property] = properties[property];
});
});
companies[companyName] = company;
});
console.log(companies);
看看小提琴我同意@Pavel Gatnar和@Guillaume。这是一个非常糟糕的数据结构。如果您不能仅更改结构,那么应该使用以下代码
var info = {
"company1": [{
"employee": "*2"
}, {
"rooms": "*6"
}, {
"vehicals": "3"
}],
"company2": [{
"employee": "*2"
}, {
"rooms": "*6"
}, {
"vehicals": "3"
}],
"company3": [{
"employee": "*2"
}, {
"rooms": "*6"
}, {
"vehicals": "3"
}]
};
var companies = {},
companyNames = Object.keys(info);
companyNames.forEach(function (companyName) {
var companyInfo = info[companyName],
company = {};
companyInfo.forEach(function (properties) {
var innerPropertyName = Object.keys(properties);
innerPropertyName.forEach(function (property) {
company[property] = properties[property];
});
});
companies[companyName] = company;
});
console.log(companies);
看看小提琴我同意@Pavel Gatnar和@Guillaume。这是一个非常糟糕的数据结构。如果您不能仅更改结构,那么应该使用以下代码
var info = {
"company1": [{
"employee": "*2"
}, {
"rooms": "*6"
}, {
"vehicals": "3"
}],
"company2": [{
"employee": "*2"
}, {
"rooms": "*6"
}, {
"vehicals": "3"
}],
"company3": [{
"employee": "*2"
}, {
"rooms": "*6"
}, {
"vehicals": "3"
}]
};
var companies = {},
companyNames = Object.keys(info);
companyNames.forEach(function (companyName) {
var companyInfo = info[companyName],
company = {};
companyInfo.forEach(function (properties) {
var innerPropertyName = Object.keys(properties);
innerPropertyName.forEach(function (property) {
company[property] = properties[property];
});
});
companies[companyName] = company;
});
console.log(companies);
看看小提琴我同意@Pavel Gatnar和@Guillaume。这是一个非常糟糕的数据结构。如果您不能仅更改结构,那么应该使用以下代码
var info = {
"company1": [{
"employee": "*2"
}, {
"rooms": "*6"
}, {
"vehicals": "3"
}],
"company2": [{
"employee": "*2"
}, {
"rooms": "*6"
}, {
"vehicals": "3"
}],
"company3": [{
"employee": "*2"
}, {
"rooms": "*6"
}, {
"vehicals": "3"
}]
};
var companies = {},
companyNames = Object.keys(info);
companyNames.forEach(function (companyName) {
var companyInfo = info[companyName],
company = {};
companyInfo.forEach(function (properties) {
var innerPropertyName = Object.keys(properties);
innerPropertyName.forEach(function (property) {
company[property] = properties[property];
});
});
companies[companyName] = company;
});
console.log(companies);
查看小提琴试试这个:
var info={
"company1":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
],
"company2":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
],
"company3":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
]
};
var companiesArray = {};
for(company in info){
var detailsArray = {};
for(var i=0;i<info[company].length;i++) {
for(var details in info[company][i]){
var detailsValue=info[company][i][details];
detailsArray[details]=detailsValue;
}
}
companiesArray[company]=detailsArray;
}
console.log(companiesArray['company1'].employee);
var信息={
“公司1”:[
{“雇员”:“*2”},
{“房间”:“*6”},
{“车辆”:“3”},
],
“公司2”:[
{“雇员”:“*2”},
{“房间”:“*6”},
{“车辆”:“3”},
],
“公司3”:[
{“雇员”:“*2”},
{“房间”:“*6”},
{“车辆”:“3”},
]
};
var companiesArray={};
对于(信息中的公司){
var detailsArray={};
对于(var i=0;i尝试以下方法:
var info={
"company1":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
],
"company2":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
],
"company3":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
]
};
var companiesArray = {};
for(company in info){
var detailsArray = {};
for(var i=0;i<info[company].length;i++) {
for(var details in info[company][i]){
var detailsValue=info[company][i][details];
detailsArray[details]=detailsValue;
}
}
companiesArray[company]=detailsArray;
}
console.log(companiesArray['company1'].employee);
var信息={
“公司1”:[
{“雇员”:“*2”},
{“房间”:“*6”},
{“车辆”:“3”},
],
“公司2”:[
{“雇员”:“*2”},
{“房间”:“*6”},
{“车辆”:“3”},
],
“公司3”:[
{“雇员”:“*2”},
{“房间”:“*6”},
{“车辆”:“3”},
]
};
var companiesArray={};
对于(信息中的公司){
var detailsArray={};
对于(var i=0;i尝试以下方法:
var info={
"company1":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
],
"company2":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
],
"company3":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
]
};
var companiesArray = {};
for(company in info){
var detailsArray = {};
for(var i=0;i<info[company].length;i++) {
for(var details in info[company][i]){
var detailsValue=info[company][i][details];
detailsArray[details]=detailsValue;
}
}
companiesArray[company]=detailsArray;
}
console.log(companiesArray['company1'].employee);
var信息={
“公司1”:[
{“雇员”:“*2”},
{“房间”:“*6”},
{“车辆”:“3”},
],
“公司2”:[
{“雇员”:“*2”},
{“房间”:“*6”},
{“车辆”:“3”},
],
“公司3”:[
{“雇员”:“*2”},
{“房间”:“*6”},
{“车辆”:“3”},
]
};
var companiesArray={};
对于(信息中的公司){
var detailsArray={};
对于(var i=0;i尝试以下方法:
var info={
"company1":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
],
"company2":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
],
"company3":[
{"employee":"*2"},
{"rooms":"*6"},
{"vehicals":"3"},
]
};
var companiesArray = {};
for(company in info){
var detailsArray = {};
for(var i=0;i<info[company].length;i++) {
for(var details in info[company][i]){
var detailsValue=info[company][i][details];
detailsArray[details]=detailsValue;
}
}
companiesArray[company]=detailsArray;
}
console.log(companiesArray['company1'].employee);
var信息={
“公司1”:[
{“雇员”:“*2”},
{“房间”:“*6”},
{“车辆”:“3”},
],
“公司2”:[
{“雇员”:“*2”},
{“房间”:“*6”},
{“车辆”:“3”},
],
“公司3”:[
{“雇员”:“*2”},
{“房间”:“*6”},
{“车辆”:“3”},
]
};
var companiesArray={};
对于(信息中的公司){
var detailsArray={};
对于(var i=0;i如果您不想/无法更改JSON,只需更改
detailsArray = []
到
及
到
现在你可以使用
如果您不想/无法更改JSON,只需更改
detailsArray = []
到
及
到
现在你可以使用
如果您不想/无法更改JSON,只需更改
detailsArray = []
到
及
到
现在你可以使用
如果您不想/无法更改JSON,只需更改
detailsArray = []
到
及
到
现在你可以使用