JavaScript数据解析记录

00002233441232

然后解析出

{
  "method":"thing.event.property.post",
  "version":"1.0",
  "id":"51",
  "params":
  {
     "LightSwitch":"4658"
  }
}

javascript代码:

function rawDataToProtocol(bytes) {
    var uint8Array = new Uint8Array(bytes.length);
    for (var i = 0; i < bytes.length; i++) {
        uint8Array[i] = bytes[i] & 0xff;
    }
    var dataView = new DataView(uint8Array.buffer, 0);
    var jsonMap = new Object();
    var fHead = uint8Array[0]; // command
    if (fHead == COMMAND_REPORT) {
        jsonMap['method'] = ALINK_PROP_REPORT_METHOD; //ALink JSON格式 - 属性上报topic
        jsonMap['version'] = '1.0'; //ALink JSON格式 - 协议版本号固定字段
        jsonMap['id'] = '' + uint8Array[3]; //ALink JSON格式 - 标示该次请求id值
        var params = {};

        //params['cmd'] = uint8Array[1]; //控制命令

        // 上传常规上报数据
        params['LightSwitch'] = dataView.getInt16(4);

        jsonMap['params'] = params; //ALink JSON格式 - params标准字段
    }
    return jsonMap;
}

00002233441232

变量
dataView.getInt16(2)2233
dataView.getInt32(2)22334412
uint8Array[2]22
相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页