我在JSON中遇到这种类型的错误Unexpected token o 错误detials:
[object Object]
SyntaxError:位置1的JSON中的意外标记o
function address_transaction(address,callback)
{
var api_key='11111111111111';
var type='na';
var url='some url';
var request = require('request');
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
var new1 =JSON.parse({"address":address,"response":response});
callback(new1);
}
else {
console.log("Error "+response.statusCode)
}
})
}
答案 0 :(得分:1)
你无法解析JSON.parse({"address":address,"response":response});
你必须首先进行字符串化
答案 1 :(得分:1)
删除JSON.parse
:
if (!error && response.statusCode == 200) {
var new1 =JSON.parse({"address":address,"response":response});
callback(new1);
}
当您已经拥有一个对象并且无法执行此操作时,您正尝试将JSON转换为对象。
发送您的数据:
var new1 = {"address":address,"response":response};
答案 2 :(得分:1)
删除JSON.parse应解决您的问题:
var new1 = {"address":address,"response":response};
我建议您查看功能JSON.parse() and JSON.stringify()查看
答案 3 :(得分:1)
在nodejs中你需要知道的重要事情是第一个参数是一个错误所以当你得到一个错误所以需要处理这个像回调(错误)。如果您得到结果,则返回此结果,如callback(null, result)
function address_transaction(address, callback) {
var api_key = '11111111111111';
var type = 'na';
var url = 'some url';
var request = require('request');
request(url, function(error, response, body) {
if (!error && response.statusCode == 200) {
var new1 = Object.assign({}, {
"address": address,
"response": response
};
})
callback(null, new1);
} else {
console.log("Error " + response.statusCode)
callback(err)
}
})
}