在json数据上使用eval()

时间:2012-01-07 01:58:43

标签: ajax django json eval

我正在尝试在json格式的数据集上使用eval来检索属性的值,即

[{"item_one":1, "item_two": 2, "item_three": 3}]

我在django中使用dajax进行ajax调用,如下所示:

@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值的正确方法是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

如果data仍然是一个字符串,那么你需要eval(data)(或者@cHao建议,解析它)以产生一个能够被解除引用的javascript对象。

如果它不仅仅是一个字符串,则不应该首先进行评估。