json JSON中的意外标记o

时间:2018-01-04 06:51:45

标签: javascript json node.js

我在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)
  }
})
}

4 个答案:

答案 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)

  1. JS​​ON.parse({"地址":地址,"响应":响应});是错误的,因为JSON.parse(... paramString)需要一个字符串作为参数,而不是每个代码的对象。
  2. {"地址":地址,"响应":响应};已经是一个有效的JSON对象,因此您不需要进行任何进一步的分析。
  3. 删除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)
        }
    })
}