从 Meteor 中的 Stripe API 返回的 JSON 字典中的访问值

Access value in JSON dictionary returned from Stripe API in Meteor

本文关键字:JSON 字典 访问 返回 Meteor 中的 Stripe API      更新时间:2023-09-26
当 Stripe

oAuth 进程失败时,Stripe API 会向我返回一个 JSON 字典(不管是什么)。我已将其存储为变量,但我无法访问"error_description"旁边的值。这是相关 Stripe 文档的链接

不确定它是否有区别,但这是在服务器端方法的 Meteor 应用程序中。

我将以下内容存储为名为"错误"的变量。这是我控制台时得到的.log(错误);

{ [Error: failed [400] {   "error": "invalid_grant",   "error_description": "Authorization code does not exist: ac_7z4pnJ8ee71yJNxguV6wiINIf10fgl6j" }] stack: [Getter] }

我的问题是:如何访问"error_description"?

当我写的时候似乎不起作用

var newError = error.error_description

如果有人能帮我获得error_description那将是很棒的,谢谢!

更新添加 .message 删除了部分响应,但我仍然无法 JSON.parse 它或访问error_description

var 错误 = 错误。消息结果

failed [400] {   "error": "invalid_grant",   "error_description": "Authorization code does not exist: ac_7z4pnJ8ee71yJNxguV6wiINIf10fgl6j" }

您似乎收到了一个错误对象。

您应该能够使用:

 error.message

该部分似乎是一个 JSON 字符串,但它以"failed [400] "之类的文本为前缀,这不是后面的 JSON 的一部分。因此,您应该剥离第一部分以获取 JSON 字符串,如下所示:

 var json = /('{.+)/.exec(error.message)[1]; // strip prefix
 var errorObj = JSON.parse(json);
 console.log(errorObj.error_description);