【问题标题】:unable to parse the JSON returned by AWS.EC2.describeInstances() method in nodejs API无法解析 nodejs API 中 AWS.EC2.describeInstances() 方法返回的 JSON
【发布时间】:2014-09-13 16:01:49
【问题描述】:

这是我的代码

var AWS = require('aws-sdk');
AWS.config.region = 'ap-southeast-1';

var uuid = require('node-uuid');
ec2 = new AWS.EC2({apiVersion: 'latest'});


AWS.config.update({accessKeyId: xxxxxxxx, secretAccessKey: yyyyyyyyyyy});
AWS.config.update({region: 'zzzzzzzzzzzzzz'});

var util = require('util');
var opsworks = new AWS.OpsWorks();
var cloudformation = new AWS.CloudFormation();
var cloudwatch = new AWS.CloudWatch();

function listInstances(callback){
new AWS.EC2().describeInstances(function(error, data) {
    if (error) {
        callback(error);
    } else {
        callback(util.inspect(data, {depth: null})); //this returns a full fledged JSON response on the console

}

});
}

//Test above methods
listInstances(callback);


function callback(data){
  console.log(data);
}

我尝试通过替换行来解析 JSON 响应

callback(util.inspect(data, {depth: null})); 

JSON.parse(data);

我收到以下错误

{ [SyntaxError: Unexpected token o] statusCode: 200, retryable: false }
{ [200: null]
message: null,
code: 200,
time: Tue Jul 22 2014 22:59:42 GMT+0530 (India Standard Time),
statusCode: 200,
retryable: false }

我尝试使用 eval() 来解析它,我得到了以下错误

[SyntaxError: Unexpected identifier]

我做错了什么,我应该使用任何其他逻辑来解析 JSON 响应吗?

请原谅我的无知,因为我是 node.js 和 AWS 的新手

【问题讨论】:

  • 你能console.log(data) 让我们看看它的样子吗?
  • 看起来是这样 { Reservations: [ { ReservationId: 'xx2', OwnerId: 'xxx', Groups: [], Instances: [Object] }, { ReservationId: 'xxx1', OwnerId :'xxx',组:[],实例:[对象]}]}
  • 所以它已经是一个对象了。没有必要解析任何东西。照原样使用它。
  • 我什至尝试了以下方法,以便进一步简化“对象” var respdata = util.inspect(data, {depth: null}); JSON.parse(respdata);即使那样它也显示了同样的错误
  • 你到底想做什么?无需调用JSON.parse——您已经持有一个对象。例如,只需执行data.Reservations[0].OwnerId

标签: json node.js amazon-web-services amazon-ec2 ec2-api-tools


【解决方案1】:

好像不需要解析数据,因为已经解析过了。

看这个答案,是类似的问题。

I keep getting "Uncaught SyntaxError: Unexpected token o"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 2016-06-24
    相关资源
    最近更新 更多