Typescript的新功能。我正在从RabbitMQ channel 读取一些数据,并将其转换为JSON对象。在这一行中我得到了错误

let communicationInformation = JSON.parse(newCommunication.content);

TS2345:“缓冲区”类型的参数无法分配给“字符串”类型的参数。

我需要转换数据吗?我正在使用Typescript 2.4.1

 Amqplib.connect(amqpLibUrl, (err, connection) => {
if (!err) {
    connection.createChannel((err, channel) => {
        channel.consume('QueueName', newCommunication => {
            if (newCommunication != null) {
                let communicationInformation = JSON.parse(newCommunication.content);
                // Code
            }
        })
    })
}
});

最佳答案

我认为错误是在JSON.parse的输入参数上引发的。尝试先调用toString,然后传递给函数。

let communicationInformation = JSON.parse(newCommunication.content.toString());

09-27 08:02