如何使用javascript将JSON对象推入数组

Anu*_*ha 7 javascript json

我试图从url获取JSON数据.它是对象的形式我必须将对象数据推送到数组.

var my_json;
$.getJSON("https://api.thingspeak.com/channels/"+did+"/feeds.json?api_key="+apikey+"&results=300", function(json1) {
console.log(json1);
json1.feeds.forEach(function(feed,i){
    console.log("\n The details of " + i + "th Object are :  \nCreated_at: " + feed.created_at + "\nEntry_id:" + feed.entry_id + "\nField1:" + feed.field1 + "\nField2:" + feed.field2+"\nField3:" + feed.field3);      
    my_json = feed;
    console.log(my_json); //Object {created_at: "2017-03-14T01:00:32Z", entry_id: 33358, field1: "4", field2: "4", field3: "0"}
    var data = [];
    for(var i in my_json)
    data.push(my_json [i]);
    console.log(data); //["2017-03-14T01:00:32Z", 33358, "4", "4", "0"]
}); 
Run Code Online (Sandbox Code Playgroud)

我已经在my_json中尝试了如上所述我有对象形式的json数据现在我必须将该对象作为数组存储到var数据中,格式如下

[{
        "created_at": "2017-03-14T01:00:32Z",
        "entry_id": 33358,
        "field1": "4",
        "field2": "4",
        "field3": "0"
 },
 {
        "created_at": "2017-03-14T22:54:43Z",
        "entry_id": 33398,
        "field1": "84",
        "field2": "32",
        "field3": "0"
 }];
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我怎么做??谢谢你

Roh*_*dal 20

意见

  • 如果存在单个对象并且您想将整个对象推入数组,则无需迭代该对象.

试试这个 :

var feed = {created_at: "2017-03-14T01:00:32Z", entry_id: 33358, field1: "4", field2: "4", field3: "0"};

var data = [];
data.push(feed);

console.log(data);
Run Code Online (Sandbox Code Playgroud)

代替 :

var my_json = {created_at: "2017-03-14T01:00:32Z", entry_id: 33358, field1: "4", field2: "4", field3: "0"};

var data = [];
for(var i in my_json) {
    data.push(my_json[i]);
}

console.log(data);
Run Code Online (Sandbox Code Playgroud)

  • @RohitJindal 如果我有这样的 `dataObj={ "id": 1 , "arr" : [ ] }` 和另一个像 `secondObj = { id: 2 , name: "xy" , area: 的对象,怎么可能? "area1 " } ` 我想将 secondaryObj 推送到 `dataObj` 内的 `arr` 。其实我在TS上,它显示类型错误。 (3认同)