私はgetリクエストで返されたデータを反復しようとしています。 JSON形式であるかのように繰り返し処理しようとしていますが、これを初めて知っていて、JSON形式で認識しているものが返されているのか、文字列として認識しているのかわかりませんinfo.data.itemsなどのものを認識できるようにします。ここでは、ノード、基本認証を使用して私のget要求です。ノードを反復しようとしましたget rest return
ここでは、取得リクエストから返されるサンプルデータと、実際に反復処理を試みているものを示します。そして、ここで
{"data":{"items":[{"date":"2017-02-02","revenue":111,"impressions":000},{"date":"2017-02-03","revenue":123,"impressions":0000,},"message":"Top 2 rows returned."}
function rData(key, secret, account_id) {
var https = require('https');
var options = {
host: 'api.urlhere.com',
port: 443,
path: 'path',
// authentication headers
headers: {
'Authorization': 'Basic ' + new Buffer(key + ':' + secret).toString('base64')
}
};
var request = https.get(options, function(res) {
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
//console.log(body);
callNextFunction(body);
})
res.on('error', function(e) {
console.log("Got error: " + e.message);
});
});
}
は、私がデータを反復処理しようとしている次の機能です。それはあなたのJSONを見てみると、私はエラーを取得し、この機能、
TypeError: Cannot read property 'items' of undefined
function callNextFunction(rBody) {
var rData = rBody;
console.log("Data transfer sucessful: " + rData); // Works up to this point.
rData.data.items.forEach(function(info) {
var rev = info.revenue;
console.log("Revenue: " + rev);
})
}
を試してみて、あなたの問題 – user7417866
はJSONがテキストデータであるものです。プロパティをアクセスできるJSオブジェクトに変換するには、解析する必要があります。 'var rData = JSON.parse(rBody);' –
"がJSON形式で認識されるか、それを文字列として認識している場合" - JSON _is_ a string – qxz