Javascript 数组结构中字符串的JSON.parse语法问题
我有一个简单的字符串,其结构如下:Javascript 数组结构中字符串的JSON.parse语法问题,javascript,json,Javascript,Json,我有一个简单的字符串,其结构如下: [[Home],[685,300],[800,380],[685,300],[Home]] [{"path":"[[Home],[685,300],[800,380],[685,300],[Home]]","id":"1"}] paths[data[i].id].path = JSON.parse(data[i].path); 基本上,它是一组坐标,用来创建一条路径。之所以使用主页,是因为它会根据用户在地图上的位置进行更改 我面临的问题是当我将它从PHP
[[Home],[685,300],[800,380],[685,300],[Home]]
[{"path":"[[Home],[685,300],[800,380],[685,300],[Home]]","id":"1"}]
paths[data[i].id].path = JSON.parse(data[i].path);
基本上,它是一组坐标,用来创建一条路径。之所以使用主页
,是因为它会根据用户在地图上的位置进行更改
我面临的问题是当我将它从PHP传递到JS时
我对数据进行json_编码,并按如下方式传递:
[[Home],[685,300],[800,380],[685,300],[Home]]
[{"path":"[[Home],[685,300],[800,380],[685,300],[Home]]","id":"1"}]
paths[data[i].id].path = JSON.parse(data[i].path);
然后我在i JSON.parse之后为它创建对象:
paths = {};
for(var i in data){
paths[data[i].id] = {}
paths[data[i].id].path = data[i].path;
}
问题是data[i]。path
仍然只是一个字符串,而不是一个可用的数组。因此,我尝试添加一个辅助JSON.parse来将字符串更改为一个可用数组,如下所示:
[[Home],[685,300],[800,380],[685,300],[Home]]
[{"path":"[[Home],[685,300],[800,380],[685,300],[Home]]","id":"1"}]
paths[data[i].id].path = JSON.parse(data[i].path);
但这导致:
Unexpected token H
H
显然来自我放在数组中的Home
,因此我想知道如何将其转换为可用数组?您的字符串不是有效的JSONHome
将是该名称的javascript标识符<代码>“Home”是一个字符串。引用不见了。啊,该死!我尝试了单引号,但没有尝试双引号xD谢谢@Jan!