использование eval () для данных json - PullRequest
0 голосов
/ 07 января 2012

Я пытаюсь использовать eval для набора данных в формате json, чтобы получить значение атрибута, т. Е.

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

Я использую dajax для вызова ajax в django, например:

@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 голосов
/ 07 января 2012

Если data по-прежнему строка, то вам нужно eval(data) (или, как предлагает @cHao, проанализировать ее), чтобы получить объект javascript, который можно разыменовать.

Если это не просто строка, она не должна быть eval'd первой.

...