ram*_*daz 2 javascript python jquery json
我正在生成一个表示为Python字典的数据,该字典使用simplejson通过url转储,格式为此格式.
{"2": "London", "3": "Tokyo", "4": "Sydney"}
Run Code Online (Sandbox Code Playgroud)
我正在使用$.get并存储到可变数据中.但是eval(data)不会生成关联数组.实际上会抛出一个错误.问题是什么?解决办法是什么?
编辑:我已经共享了代码 http://dpaste.com/570901/
我们需要看到更多的代码...
var x = '{"2": "London", "3": "Tokyo", "4": "Sydney"}';
eval('var y = ' + x);
// or
var y = eval('(' + x + ')');
console.log(y);
console.log(y["2"]);
Run Code Online (Sandbox Code Playgroud)
以上工作得很好。你到底在做什么/不做什么?
PS:eval无论如何你都不应该使用它,但重要的是要知道它是如何工作的。
您的错误是因为a {语句的开头被读取为代码块(就像您在ifs和fors中使用的类型)而不是对象文字.您可以根据需要为eval添加括号:
eval('(' + str + ')');
Run Code Online (Sandbox Code Playgroud)
当然,eval是邪恶的,你应该使用类似的东西JSON.parse.大多数新浏览器都有这个,它不仅更安全,而且速度更快.