我對NodeJS有點新手,但我環顧四周,似乎無法找到解決我下面的問題的解決方案。我確信這很簡單,但在此先感謝您給我的所有幫助!NodeJS ...將JSON保存到一個變量
我想通過NodeJS做一個簡單的JSON刮刀。我需要的是將JSON存儲到變量中。問題是,我正在使用Require,他們的例子只是將它記錄到控制檯。我已經嘗試在登錄到控制檯後添加一個變量,但我只是變得不確定。這裏是我下面的代碼,這是很簡單的,到目前爲止:)
// var jsonVariable; Doesn't work, shown as a test
function getJSON(url){
var request = require("request")
request({
url: url,
json: true
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
console.log(body) // Print the json response
//return body; This doesn't work, nor does making a global variable called json and assigning it here. Any ideas?
//jsonVariable = body; // This also doesn't work, returning undefined even after I've called the function with valid JSON
}
})
}
再次感謝這麼多的幫助。如果你用「回體」,其中它返回到你能給我:)
當你'返回body',你將其返回到'功能(錯誤,響應體)'回調,而不是實際的'getJSON'功能 – squill25
我不明白這一點,在json是一個變量,'body'。如果你需要在其他地方添加回調。 – dandavis
'jsonVariable = body'工作。但是在你調用函數之後,它會在將來的某個時間點被設置。爲了證明它的工作原理,在以後的某個時間使用'setTimeout'檢查'jsonVariable'的值。這意味着你永遠永遠永遠不會受到壓力(我無法強調它),永遠不會從異步函數中返回一個值。您需要做的是將回調傳遞給**接收**值。 – slebetman