最赞回答 / 灵感ls展望
eval('('+jsondata+')')这种给json数据加个()的做法是针对eval()的。eval()会将{}里面的代码认为是一个语句块来执行,而如果使用eval()是想把json字符串变为一个json对象的话就不能让他当做是一个语句来执行,加一个()就可以实现将他转换成对象。下面JSON.parse(jsondata)就是一个将json字符串变成一个json对象的方法,这个方法允许接收字符串,所以可以直接使用,其实方法里面还是对json字符串进行类似eval的处理了。
2015-04-04