作为一名前端,在日常的开发中,可能会遇到一些处理后端返回的数据的问题
正常情况下,把一个标准的JSON字符串转化为对象或数组非常简单
只需要使用JSON.parse即可
转换后的效果,没有问题
但是这种是建立在数据是标准JSON格式的前提下,如果是非标准的JSON格式那么控制台就会报错
let obj = '{"name": "John", 'age': 30, 'city': 'New York'}'
这就是非标准类型JSON(单引号)
这种如果执行JSON.parse就会报错
无法实现,这时候就需要用Js原生方法eval()去操作
let str = "{name: 'John', age: 30, city: 'New York'}";
let string = eval("(" + str + ")");
转换后的
成功了
后语:虽然这个东西确实是解决了,但是后面去看了JS的官方文档,人家说让慎用,有一定的安全问题,
但是说实话又不知道有什么好的解决方案,我个人认为小型项目这种东西无所谓,如果大型项目或者涉密慎用,但是我觉得最好的方法还是直接去狠狠地拷打你的后端,让他把数据搞好比较省事