我試圖使用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