如何将字符串解析为JSON对象javascript

时间:2013-11-04 17:30:41

标签: javascript php json

我的php脚本中有以下代码。

var str = "[{id : 'Gadji Tallo', poste : 'attaquants', taille : '1.85m', poids :'77kg', age :'20'},{id:'Mbaye Diagne', poste :'attaquants', taille : '', poids :'', age :'22'},{id:'Sigamary Diarra', poste :'attaquants', taille : '1.76m', poids :'74kg', age :'29'}]";
var result = JSON.parse(str)

我想要的是将其解析为JSON以循环它。 当我运行以下代码时,我的chrome控制台出现了这个错误:

未捕获的SyntaxError:意外的令牌

任何线索/帮助都是欢迎。 感谢

2 个答案:

答案 0 :(得分:2)

这不是JSON,但它几乎是一个文字JavaScript对象,你似乎并不真正需要JSON。

在PHP中生成它时,只需不要放引号,不需要解析:

var result = [{id : 'Gadji Tallo', poste : 'attaquants', taille : '1.85m', poids :'77kg', age :'20'},{id:'Mbaye Diagne', poste :'attaquants', taille : '', poids :'', age :'22'},{id:'Sigamary Diarra', poste :'attaquants', taille : '1.76m', poids :'74kg', age :'29'}];

答案 1 :(得分:0)

您还需要在名称周围加上引号,例如:

var str = '[{"id" : "Gadji Tallo", "poste" : "attaquants", "taille" : "1.85m", "poids":"77kg", "age" :"20"}]';

从字符串解析JSON时。

如果从PHP打印JSON,为什么不将数组保存在PHP中然后打印

print "var obj = " . json_encode($array);