2013-08-05 173 views
1

字符串JSON.parse语法问题我有一个简单的字符串,其被构造是这样的:在阵列结构

[[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,我把未来该数组,所以我想知道我能做些什么将其转换为可用数组?

回答

2

您的字符串无效JSON。 Home将是该名称的JavaScript标识符。 "Home"是一个字符串。引号缺失。

+0

啊该死!我试过单引号,但没有尝试双引号xD谢谢@Jan! – Sir