2017-04-12 137 views
1

我試圖從url中獲取JSON數據。它是以對象的形式將對象數據推入數組。如何使用javascript將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"] 
}); 

我在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" 
}]; 

陣列任何人都可以幫我怎麼做嗎?Thankyou

+0

服務器如何返回json1對象?它是如何格式化的?你能發佈console.log(json1)的輸出嗎? –

+0

難道你只是推動飼料? 'data.push(feed);' – Darlesson

+0

'my_json'中只有一個對象。 – Mamun

回答

5

觀察

  • 如果有一個單一的對象,你想要把整個對象到一個數組,然後無需重複的對象。

試試這個:

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);

相反的:

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);

+0

我有n個對象沒有一個單一的對象@ Rohit – Anusha

+0

@Anusha但是怎麼可能。你可以有''數組''[[],{},{}]'或'數組的對象''{[],[],[]}''。 –

+0

你的答案解決了我的問題tq我現在犯了一個小錯誤,它的工作很好tq。@ Rohit – Anusha

0

你可以嘗試這樣的事情。您必須將每個json放入數據而不是json [i]中,因爲按照您所做的方式,您只能獲取並放置每個json的屬性。把整個JSON而不是在數據

var my_json; 
    $.getJSON("https://api.thingspeak.com/channels/"+did+"/feeds.json?api_key="+apikey+"&results=300", function(json1) { 
    console.log(json1); 
     var data = []; 
    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"} 
     data.push(my_json); 
    }); 
相關問題