如何从JSON解析中的Promise获得响应?

时间:2019-07-13 11:38:51

标签: node.js

我正在尝试从JSON解析中的API调用获取响应,但看不到获取它的方法。

我设法从promise获得了响应,但是它不可用,因为我需要JSON解析响应(JSON.stringlify可以工作,但也不可用)。

let Admins = scope.api.getChatAdministrators(scope.message._chat._id)
        console.log(Admins);
        Admins.then(function(result) {
        console.log(result);
        })  // Why this work?(I get this respond from it)
Respond:
[ ChatMember {
    _user:
     User {
       _id: ID,
       _firstName: 'AdminBot',
       _lastName: null,
       _username: 'Bot' },
    _status: 'administrator' },
  ChatMember {
    _user:
     User {
       _id: ID,
       _firstName: 'Creator',
       _lastName: null,
       _username: 'Creator' },
    _status: 'creator' } ]
let Admins = scope.api.getChatAdministrators(scope.message._chat._id)
        console.log(Admins);
        Admins.then(function(result) {
        console.log(JSON.parse(result));
        }).catch((err) => {
          console.log('API Call error:', err.message);
        });

尝试此操作以获取JSON解析输出,但我收到响应“ API调用错误:JSON中位置1处的意外令牌o”

1 个答案:

答案 0 :(得分:0)

这看起来很奇怪,但是会做到的。

const temp = JSON.stringify(result)
const parsedResult = JSON.parse(temp)

仅供参考。您只能解析字符串格式的JSON对象。