未定義的JSON從URL api端點http : // someserver:someport/some_api_url?_var1=1
返回到Node.js/Express.js應用程序。這個未定義的JSON輸入將始終具有相同的格式,並且需要通過接收代碼投射到新的JSON對象中(如下所示)。然後可以用各種方式處理新的JSON對象,包括傳遞給HTML。將未定義的JSON投射到新的JSON對象中
THE OP問題:
需要下面的代碼,以便於進行什麼具體的變化:
1)中的{"1":"descriptive string"}
形式JSON被鑄造成一個新定義的JSON對象稱爲dataElement
有兩個屬性,dataElement.dataKey
和dataElement.descriptionString
?
2.)發送回用戶的Web瀏覽器的HTML響應包括在UI格式dataElement.dataKey
和dataElement.descriptionString
:
Index is: 1
Description is: descriptive string
示例代碼來進行修改:
對於初學者來說,代碼需要進行修改是:
app.get('/', function (req, res) {
var url = 'http://someserver:someport/some_api_url?_var1=1'
http.get(url, function (resInner) {
var body = '';
resInner.on('data', function (chunk) {
body += chunk;
});
resInner.on('end', function() {
var fullResponse = JSON.parse(body);
// code to parse JSON into new JSON object, which is passed into HTML
var indexStr = key;
var descriptionStr = fullResponse[key];
var dataElement = {"dataKey" : key, "descriptionString" : descriptionStr};
var htmlResp = 'Index is: '+${dataElement.dataKey}+'<br> Description is: '+${dataElement.descriptionString};
res.send(htmlResp);
});
}).on('error', function (e) {
console.log("Got an error: ", e);
});
});
當前ER ROR:
此刻,上面的代碼是給下面的錯誤:
/home/user/nodejs_apps/express_helloworld/myapp/app.js:139
var htmlResp = 'Index is: '+${dataElement.dataKey}+'<br> Description is: '+${dataElement.descriptionString};
^
SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:387:25)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:142:18)
at node.js:939:3
'key'從哪裏來? – adeneo
所以你有一個在其他地方定義的變量'key',然後API返回有效的JSON,其中一個鍵實際上與你設置的'key'變量相同爲 – adeneo
因此,你沒有'鍵變量呢? – adeneo