如何导航JSON文件,获取所需的对象并使用JavaScript将其推入数组



如何读取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,...(收集所需的信息

最新更新