Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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,我这儿有把小提琴 我有这样的数据 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 = []

现在你可以使用