2017-04-12 7 views
1

urlからJSONデータを取得しようとしています。オブジェクトの形式でオブジェクトデータを配列にプッシュする必要があります。 I iは、オブジェクトの形でJSONデータを有するmy_json varに上記のように試みた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"] 
}); 

は、今は以下の形式

[{ 
     "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" 
}]; 

におけるアレイとしてVARデータにそのオブジェクトを保存する必要が誰も私にそれを行う方法を助けることができますか?ありがとう

+0

サーバーはどのようにjson1オブジェクトを返すのですか?どのようにフォーマットされていますか? console.log(json1)の出力を投稿できますか? –

+0

フィードを押すだけでいいですか? 'data.push(feed);' – Darlesson

+0

'my_json'には1つのオブジェクトしかありません。 – Mamun

答えて

5

の観測データに代わり

  • を全体JSONを置きます。

これを試してみてください:

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個のオブジェクトが1つのオブジェクトではありません@ Rohit – Anusha

+0

@Anushaしかし、それは可能です。 '' {{}、{}、{}} 'や' 'オブジェクトの配列' {[]、[]、[]} 'を持つことができます。 –

+0

あなたの答えが私の問題を解決しました。tq私は小さな間違いをしました。 – Anusha

0

あなたはこのようなものを試すことができます。あなたはあなたがそれをやっている途中で、それぞれのjsonのプロパティだけを取得しているので、あなたはjson [i]ではなく、それぞれの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); 
    }); 
関連する問題