javascript - json.parse 被赋予 undefined:1
问题描述
我正在学习 express.js,并且我的任务是让网络应用程序将加密货币兑换成法定货币,到目前为止一切都很好,但是当我对从 HTTP 请求获得的数据使用 json.parsa 时,我给了我一个错误是我从 HTTP 请求中获得的 Jason 数据
{
"ask": 9179.74,
"bid": 9174.32,
"last": 9176.57,
"high": 9223.61,
"low": 8781.94,
"volume": 50371.1269628,
"open": {
"hour": 9177.42,
"day": 8855.65,
"week": 9765.14,
"month": 7720.07,
"month_3": 8808.98,
"month_6": 7266.43,
"year": 8770.7
},
"averages": {
"day": 8943.05,
"week": 9089.32,
"month": 9105.24
},
"changes": {
"price": {
"hour": -0.85,
"day": 320.92,
"week": -588.57,
"month": 1456.5,
"month_3": 367.58,
"month_6": 1910.14,
"year": 405.87
},
"percent": {
"hour": -0.01,
"day": 3.62,
"week": -6.03,
"month": 18.87,
"month_3": 4.17,
"month_6": 26.29,
"year": 4.63
}
},
"volume_percent": 64.54,
"timestamp": 1590598912,
"display_timestamp": "2020-05-27 17:01:52",
"display_symbol": "BTC-USD"
}
这是我的代码
app.post('/', function (req, res) {
request('https://apiv2.bitcoinaverage.com/indices/global/ticker/BTCUSD',{
'auth':{
'user': 'sohailahmadpsh@gmail.com',
'pass': 'YjY0MGEwYjg2MTJkNGQ3ZDkyY2JlMzZmNDllNTgxZjA'
}
},function (error, response, result) {
var data=JSON.parse(result);
var price=data.last;
res.send(price);
});
});
并且使用了我已经尝试过的东西console.log(typeof result)
,我给了我一个字符串,甚至知道那是一个字符串,我得到的错误是
undefined:1
SyntaxError: Unexpected token U in JSON at position 0
at JSON.parse (<anonymous>)
at Request._callback (D:\backend\Bitcoins-app\server.js:25:23)
解决方案
我相信你的 json 已经被解析了。尝试注释掉解析响应的行。
推荐阅读
- matlab - 将数据添加到特定的子图
- github - GitHub markdown 中的下载链接
- html - 如何删除仅出现在 Edge 中的杂散下划线?
- c - 怎么修?尝试释放动态分配的内存时触发异常
- reactjs - 使用不同的 props 重用多个 react 组件实例
- angular - 在共享主机上使用带有 rendertron 的 Angular 6 应用程序(不允许使用 nodejs)
- php - Symfony Panther:无法使用表单登录
- annotations - 有没有办法通过放大 GraphQL 转换 @searchable 注释来控制自动生成的弹性搜索索引?
- sql - 按照解释编译存储过程
- javascript - 如何使用 JavaScript 在页面上一次显示 1 个表单