从接口返回了一段很奇葩的数据,想转换成数组使用,但是自己水平有限,尝试过JSON.parse和字符串的截取,但是最终未能解决该问题,希望诸位能帮忙解答此问题,谢谢!返回的数据如下:"[{"lng":121.580538,"lat":31.19932},{"lng":121.580919,"lat":31.199405},{"lng":121.58107,"lat":31.198751},{"lng":121.580683,"lat":31.198682}]"期望的结果: 转换成数组麻烦各位帮忙解决一下,谢谢!
1 回答

万千封印
TA贡献1891条经验 获得超3个赞
如果是返回的数据直接是这样的话, 你可以尝试把第一个双引号和最后一个双引号去掉, 然后再解析。
<script>
var json_str = '"[{"lng":121.580538,"lat":31.19932},{"lng":121.580919,"lat":31.199405},{"lng":121.58107,"lat":31.198751},{"lng":121.580683,"lat":31.198682}]"';
// 取出两边双引号
json_str = json_str.replace(/(^\")|(\"*$)/g, "");;
var json_obj = JSON.parse(json_str);
console.log(json_obj);
</script>
添加回答
举报
0/150
提交
取消