我试图使用eval的JSON格式的数据集来检索属性,即价值,使用上
[{"item_one":1, "item_two": 2, "item_three": 3}]
我使用dajax的Ajax调用像Django的内JSON数据的eval()这样的:
@dajaxice_register
def get_current_id(request):
home_timeline = oauth_req(
'http://api.twitter.com/1/statuses/home_timeline.json?count=1',
settings.TWITTER_TOKEN_KEY,
settings.TWITTER_TOKEN_SECRET
)
return simplejson.dumps({'home_timeline': home_timeline })
它得到这个,因为它的回调:
function get_current_id_callback(data){
if(data==Dajaxice.EXCEPTION){
alert('Error! Something happens!');
}
else{
console.log(data.home_timeline);
}
}
我不明白为什么这给了我不确定:
console.log(eval(data.home_timeline.item_one))
什么是检索item_one的值的正确方法?
谢谢。
放弃这一点。目前常用的每种语言都有一个内置的JSON解析器,或者随时可用。特别是Javascript。查看'JSON.parse'。它比“eval”更安全,效率更高。你的框架甚至可能已经为你做了。 – cHao 2012-01-07 02:00:37
@cHao,使用JSON.parse仍然没有正确解析'data.home_timeline.item_one',给出:'未捕获的SyntaxError:意外的令牌ü get_current_id_callback:8000 /:64'它是:'console.log(JSON.parse (data.home_timeline.id_str));'谢谢。 – neridaj 2012-01-07 03:21:28
而当你说'console.log(data)'(或可能'console.log(data.home_timeline)'),那会给你什么? – cHao 2012-01-07 03:43:53