如何读取JSON文件并使用JavaScript将其推入数组?我没有找到像这个那样深的例子。这个JSON将继续前进。提前致谢。*来自Firebase的来源。*可怜的语法不是犯罪 ^_ ^*导航并读取JSON对象。抱歉缺乏知识。
{
"Year": {
"2017": {
"Jan": {
"A": {
"Actual Sales": "14",
"Code": "3",
"Comment": "15",
"Date Due": "8",
"Date Received": "7",
"Description": "6",
"Drawing Number": "4",
"Due Day": "12",
"Invoice": "1",
"PO": "2",
"Qty": "9",
"Rev": "5",
"Status": "11",
"Total Sales": "13",
"Unit Price": "10"
},
"B": {
"Actual Sales": "14",
"Code": "3",
"Comment": "15",
"Date Due": "8",
"Date Received": "7",
"Description": "6",
"Drawing Number": "4",
"Due Day": "12",
"Invoice": "1",
"PO": "2",
"Qty": "9",
"Rev": "5",
"Status": "11",
"Total Sales": "13",
"Unit Price": "10"
}
}
"Feb": {
"A": {
"Actual Sales": "14",
"Code": "3",
"Comment": "15",
"Date Due": "8",
"Date Received": "7",
"Description": "6",
"Drawing Number": "4",
"Due Day": "12",
"Invoice": "1",
"PO": "2",
"Qty": "9",
"Rev": "5",
"Status": "11",
"Total Sales": "13",
"Unit Price": "10"
},
"B": {
"Actual Sales": "14",
"Code": "3",
"Comment": "15",
"Date Due": "8",
"Date Received": "7",
"Description": "6",
"Drawing Number": "4",
"Due Day": "12",
"Invoice": "1",
"PO": "2",
"Qty": "9",
"Rev": "5",
"Status": "11",
"Total Sales": "13",
"Unit Price": "10"
}
}
}
}
}
这个问题不清...
使用AJAX调用API时,JSON(JAVASCRIPT对象表示法(格式主要有用。它主要是一种互换格式,就像XML一样。这是XMLHttpRequest
的示例:
var req = new XMLHttpRequest();
req.onreadystatechange = function(event) {
if (this.readyState === XMLHttpRequest.DONE) {
if (this.status === 200) {
console.log(this.responseText);
// Your JSON is here!
var json = JSON.parse(this.responseText);
} else {
console.log(this.status, this.statusText);
}
}
};
req.open('GET', 'https://api.github.com', true);
req.send(null);
使用本地JSON文件通常不是最好的解决方案,因为您需要将文件系统异步请求。一个更好的解决方案,尤其是如果使用模块,则是要使用一个简单的对象文字来存储信息。使用concomjs,您可以做这样的事情:
// data.js
module.exports = {
foo: 'Foo',
bar: 'Bar',
baz: 'Baz'
};
// main.js
var data = require('./data');
然后,无论出于何种原因,您都可以使用Array.prototype.push()
将数据推入数组:
var arr = [];
arr.push(data);
编辑1:您的评论尚不清楚,但是...您想要这样的东西吗?
var arr = [];
// Suppose your JSON is stored in a "json" variable
arr.push(json['Year']['2017']['Jan']['A']);
arr.push(json['Year']['2017']['Jan']['B']);
编辑2:尝试此...
var json = {
"Year": {
"2017": {
"Jan": {
"A": {
"Actual Sales": "14",
"Code": "3",
"Comment": "15",
"Date Due": "8",
"Date Received": "7",
"Description": "6",
"Drawing Number": "4",
"Due Day": "12",
"Invoice": "1",
"PO": "2",
"Qty": "9",
"Rev": "5",
"Status": "11",
"Total Sales": "13",
"Unit Price": "10"
},
"B": {
"Actual Sales": "14",
"Code": "3",
"Comment": "15",
"Date Due": "8",
"Date Received": "7",
"Description": "6",
"Drawing Number": "4",
"Due Day": "12",
"Invoice": "1",
"PO": "2",
"Qty": "9",
"Rev": "5",
"Status": "11",
"Total Sales": "13",
"Unit Price": "10"
}
},
"Feb": {
"A": {
"Actual Sales": "14",
"Code": "3",
"Comment": "15",
"Date Due": "8",
"Date Received": "7",
"Description": "6",
"Drawing Number": "4",
"Due Day": "12",
"Invoice": "1",
"PO": "2",
"Qty": "9",
"Rev": "5",
"Status": "11",
"Total Sales": "13",
"Unit Price": "10"
},
"B": {
"Actual Sales": "14",
"Code": "3",
"Comment": "15",
"Date Due": "8",
"Date Received": "7",
"Description": "6",
"Drawing Number": "4",
"Due Day": "12",
"Invoice": "1",
"PO": "2",
"Qty": "9",
"Rev": "5",
"Status": "11",
"Total Sales": "13",
"Unit Price": "10"
}
}
}
}
};
var arr = [];
for (var key in json['Year']['2017']['Jan']) {
arr.push(json['Year']['2017']['Jan'][key]);
}
console.log(arr);
[{
"Year": 2017,
"Jan": {
"A": {
"Actual Sales": "14",
"Code": "3",
"Comment": "15",
"Date Due": "8",
"Date Received": "7",
"Description": "6",
"Drawing Number": "4",
"Due Day": "12",
"Invoice": "1",
"PO": "2",
"Qty": "9",
"Rev": "5",
"Status": "11",
"Total Sales": "13",
"Unit Price": "10"
},
"B": {
"Actual Sales": "14",
"Code": "3",
"Comment": "15",
"Date Due": "8",
"Date Received": "7",
"Description": "6",
"Drawing Number": "4",
"Due Day": "12",
"Invoice": "1",
"PO": "2",
"Qty": "9",
"Rev": "5",
"Status": "11",
"Total Sales": "13",
"Unit Price": "10"
}
},
"Feb": {
"A": {
"Actual Sales": "14",
"Code": "3",
"Comment": "15",
"Date Due": "8",
"Date Received": "7",
"Description": "6",
"Drawing Number": "4",
"Due Day": "12",
"Invoice": "1",
"PO": "2",
"Qty": "9",
"Rev": "5",
"Status": "11",
"Total Sales": "13",
"Unit Price": "10"
},
"B": {
"Actual Sales": "14",
"Code": "3",
"Comment": "15",
"Date Due": "8",
"Date Received": "7",
"Description": "6",
"Drawing Number": "4",
"Due Day": "12",
"Invoice": "1",
"PO": "2",
"Qty": "9",
"Rev": "5",
"Status": "11",
"Total Sales": "13",
"Unit Price": "10"
}
}
}]
以这种方式,您将拥有一个不错的JSON,其中包含阵列中的每个位置,有关它所指的一年的信息("年"属性(,对于每个月,您都有一个JSON对象,您可以从(a,b,...(收集所需的信息