// 判断的是否是JSON字符串
export const isJsonType = str => {
if (typeof str == 'string') {
try {
var obj = JSON.parse(str)
// 等于这个条件说明就是JSON字符串 会返回true
if (typeof obj == 'object' && obj) {
return true
} else {
//不是就返回false
return false
}
} catch (e) {
return false
}
}
return false
}
//判断有值且返回的字符串是json字符串====>为了解决 不是json时报错问题
if (item.videoLeftUrl && isJsonType(item.videoLeftUrl)) {
//将很大或者很小的数字替换成字符串类型 再使用json.parse转化就不会有失真的问题了
let stringUrl=item.videoLeftUrl.replace(/(\d+)/g,'"$&"')
let { device, channel, media } = JSON.parse(stringUrl)
}
json.parse转化数字失真末尾变成了00 很大的数字 或者很小的数字时 原本的数变了;当使用json.parse要转化的不是json字符串报错问题解决;
最新推荐文章于 2024-02-29 15:22:09 发布