角度解析uint8Array对对象数组的响应

时间:2018-12-25 21:36:43

标签: angular

我正在从事一个涉及MQTT的项目,该项目是我所选择的一个主题,以返回uint8array有效负载(我正在使用ngx-mqtt)。

     this.mqttService.observe('object1/data/').subscribe((message: IMqttMessage) => {
      const plainMessage = message.payload.toString();
      let updates = JSON.parse(plainMessage);
      this.dataService.updateMeasurements(updates);
 });

dataService.updateMeasurements期望类型为MeasurementUpdate且数组为any[]的数组不起作用。如何将任何数组转换为我的特定数组?

1 个答案:

答案 0 :(得分:0)

对于uint8array,您必须逐字符转换字符串,然后解析为JSON

例如(假设message.payload是uint8Array):

 var plainMessage = "";
    for (var i = 0; i < message.payload.length; i++) {
        plainMessage += String.fromCharCode(parseInt(message.payload[i]));
    }
let updates = JSON.parse(plainMessage)

我现在正在离开计算机,因此请注意格式和语法。