JSON.parse⽅法解析纯数字键值对报错的解决⽅法
1.起因
⼀般json格式的key键都是字符串,但是今天碰到⼀个奇葩的json格式,键值是纯数字,,
这种⽤JSON.parse的原⽣⽅法解析的话会报错,因为这个⽅法是严格按照JSON格式进⾏解析的,看后端的写法是这样
,估计也没注意吧....真是带来了很多⿇烦
2.解决
JSON解析除了JSON.parse还有另外⼀种⽅法,直接使⽤eval⽅法解析
eval('(' + response.data + ')')
这样解析的JSON就不会报错,虽然eval不推荐使⽤,因为效率没JSON⾼,⽽且会加载⾥⾯的JavaScript语句,但是碰上这种情况不得不⽤,还是要根据具体的情景来选择相应的技术解决.
然后代码的写法就是这个样⼦的
let repData = response.data
if (typeof repData === 'string') {
repData = eval('(' + response.data + ')')
}
parse error怎么解决如果axios请求后端返回的是对象的话,说明axios已经把数据解析成对象了,我们就不⽤做任何的处理了,如果不是对象,是字符串,说明传回来了那种奇葩格式,我们就需要判断⼀下,⽤eval解析.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论