一般情况下直接用eval函数即可,但是今天遇到了一个问题,报错如下:Uncaught SyntaxError: Invalid shorthand property initializer
我被这个问题困扰了半天,最后经大神指点成功解决,特此记录
我的字符串为
str = [{O=40.767268, P=114.74015500000002, lng=114.740155, lat=40.767268}, [114.740788, 40.767345], [114.741132, 40.76726]]
eval(str.replace(/\=/g,":"));
因为这个字符串要变为数组后它的第一个元素是{O=40.767268, P=114.74015500000002, lng=114.740155, lat=40.767268},由于被{}包裹eval函数会认为他是json字符串,但是他是key=value格式的故不是json字符串,所以需要先将其转换为json字符串。