蓝牙发送相同的JSON字符串到小程序,使用JSON.parse()解析解析总是报SyntaxError: Unexpected token '',... is not valid JSONat JSON.parse (<anonymous>),再次发送相同的数据能够正常解析,发送的字符串:{"len":123,"key":"version=2018-10-31&res=products%2FOU08sZr7Ls%2Fdevices%2Fesp8266&et=2526301288&method=md5&sign=jky1Rnu5YyaaEqQCFkHBqA%3D%3D"}
wx.onBLECharacteristicValueChange(function (res) {
let value = ab2str(res.value)
if(that.data.showData = null){
revData =''
}
revData += value //数据叠加,防止覆盖
if (revData.indexOf("}") >= 0) {
console.log('包含此字符串')
that.setData({
showData: revData
})
revData ='' //完成接收后清空数据,防止数据叠加
let jsonStr = that.data.showData
jsonStr = jsonStr.replace(" ", "");
if (typeof jsonStr != 'object') {
jsonStr = jsonStr.replace(/\ufeff/g, "");
var jsonObj = JSON.parse(jsonStr);
console.log("jsonObj类型:", typeof jsonObj)
console.log("JSON:", jsonObj)
console.log("key:", jsonObj.key)
}
})
}
})
第一次发送:
第二次发送:能够正常解析
打印出来的两个字符串一模一样的,搞不明白为什么第一次转换就是不成功
打印一下两次的 jsonStr 呢?