【发布时间】:2021-09-02 08:53:44
【问题描述】:
我正在尝试下面的代码来检索 executionArn,但我收到了这个错误
Error [SyntaxError]: Unexpected token o in JSON at position 1
at JSON.parse (<anonymous>)
如何从每条记录中获取 executionArn 或 stateMachineArn?任何帮助将不胜感激。
console.log(data) - 输出
{
executions: [
{
executionArn: 'arn:aws:states:us-east-2:12222:execution:test:dcb689bc',
stateMachineArn: 'arn:aws:states:us-east-2:12222:stateMachine:test-sm',
name: 'test-name',
status: 'SUCCEEDED',
startDate: 2021-06-17T13:43:39.817Z,
stopDate: 2021-06-17T13:43:53.667Z
},
{
executionArn: 'arn:aws:states:us-east-2:12222:execution:test:sd32dsdf',
stateMachineArn: 'arn:aws:states:us-east-2:12222:stateMachine:test-sm',
name: 'test-name1',
status: 'SUCCEEDED',
startDate: 2021-06-17T13:43:39.817Z,
stopDate: 2021-06-17T13:43:53.667Z
}
],
nextToken: 'aadfdfdf'
}
代码:
stepfunctions.listExecutions(params, function(err, data) {
if (err) console.log(err, err.stack);
else
console.log(data)
//console.log(data.executions[0].executionArn)
data = JSON.parse(data);
data.forEach(function(result) {
var arnValue = result.executions.executionArn;
console.log(arnValue);
});
});
【问题讨论】:
-
console.log(data)的输出是什么?请注意,输入不是有效的 JSON。 -
更新了我的帖子 - 请检查这个 console.log(data) - 输出
-
data看起来像是一个 JavaScript 对象,而不是 JSON。应该不用JSON.parse -
如果我不使用 JSON.parse 那么它给我一个 data.forEach 不是一个函数:(
-
可能是因为
data是一个没有该功能的对象。尝试改用data.executions.forEach?
标签: javascript node.js json foreach