1

我有一个简单的字符串,其结构如下:

[[Home],[685,300],[800,380],[685,300],[Home]]

基本上它是一个坐标数组,用于创建路径。使用Home是因为这会根据用户在地图上的位置而变化。

我面临的问题是当我将它从 PHP 传递给 JS 时。

我 json_encode 数据并像这样传递它:

[{"path":"[[Home],[685,300],[800,380],[685,300],[Home]]","id":"1"}]

然后我为它创建我的对象after我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 以将字符串更改为可用的数组,如下所示:

paths[data[i].id].path = JSON.parse(data[i].path);

但这会导致:

 Unexpected token H 

H显然来自Home我放入数组中,所以我想知道我能做些什么将它转换为可用的数组?

4

1 回答 1

2

您的字符串不是有效的 JSON。Home将是该名称的 javascript 标识符。"Home"是一个字符串。引号不见了。

于 2013-08-05T22:52:17.600 回答