2017-04-12 76 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); 
    }); 
相关问题