HTTP请求JSON:意外.解析错误-如何消除它
HTTP Request JSON: Unexpected .parse error - How do I exterminate it?
我正在使用IBMBluemix为学校项目制作web服务。
我的项目需要从API请求JSON,这样我就可以使用它提供的数据。
我对API服务的http请求有问题。我在Windows 10命令提示符中收到以下警报。
"Syntaxerror:意外令牌"
我知道我的JSON请求有问题,但事实确实如此吗?
这是我的.js
文件和运行它时得到的错误屏幕的打印
/*eslint-env node*/
//------------------------------------------------------------------------------
// node.js starter application for Bluemix
//------------------------------------------------------------------------------
// HTTP request - duas alternativas
var http = require('http');
var request = require('request');
// cfenv provides access to your Cloud Foundry environment
// for more info, see: https://www.npmjs.com/package/cfenv
var cfenv = require('cfenv');
//chama o express, que abre o servidor
var express = require('express');
// create a new express server
var app = express();
// serve the files out of ./public as our main files
app.use(express.static(__dirname + '/public'));
// get the app environment from Cloud Foundry
var appEnv = cfenv.getAppEnv();
// start server on the specified port and binding host
app.listen(appEnv.port, '0.0.0.0', function() {
// print a message when the server starts listening
console.log("server starting on " + appEnv.url);
});
app.get('/home1', function(res){
http.get('http://developers.agenciaideias.com.br/cotacoes/json', function(res){
var body = '';
res.on('data', function(chunk){
body += chunk;
});
res.on('end', function(){
var json = JSON.parse(body);
});
var json = JSON.parse(res);
var cotacao = json["bovespa"]["cotacao"];
console.log("A sua cotação é "+cotacao);
});
});
命令行中错误屏幕的打印
您需要使用在.on('end'
中创建的json对象
当res
显然不是字符串时,尝试JSON.parse res
会导致错误(res.toString()导致[Object-Object]。。。因此错误是无效的JSON
app.get('/home1', function(res){
http.get('http://developers.agenciaideias.com.br/cotacoes/json', function(res){
var body = '';
res.on('data', function(chunk){
body += chunk;
});
res.on('end', function(){
var json = JSON.parse(body);
var cotacao = json["bovespa"]["cotacao"];
console.log("A sua cotação é "+cotacao);
});
});
});
尝试配置用于解析json主体的应用程序:
app.configure(function () {
app.use(express.json())
})
您将收到一个解析的json对象
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 铬:“;未捕获的语法错误:意外的标记:"
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 相位器状态未捕获参考错误
- /undefined在我的404错误日志中多次出现
- Javascript未捕获语法错误意外的标识符错误
- javascript:如何在antlr生成的Lexer中进行错误处理
- Angularjs工厂注入错误
- index.php:13 Uncaught SyntaxError: Unexpected token: Ci中的错误消
- Override 'Login Forbidden'在meteor-useraccounts中出现错误消