2010-04-01 3 views
1
var gallery = new TGallery([[{"image":{"updated_at":"2010-03-20T00:00:00Z","title":"dfgdfg","spam_reports":0,"by_profile_id":1,"comment_count":0,"id":1,"description":"htt","on_type":"profile","adult_reports":0,"on_id":1,"created_at":"2010-03-20T00:00:00Z"}]]); 

Тогда в классе TGallery я хотел бы преобразовать объект json в объект js. благодаряJQuery: json to object?

без плагина, если это возможно ... :)

+0

Teehee. Кто-то забыл, что JSON * есть * javascript. – spender

ответ

1

Что вы вывесили не вполне правомочно (отсутствует }), но если вы можете изменить формат немного, нет необходимости в преобразовании, что-то вроде этого:

var gallery = [{"image":{"updated_at":"2010-03-20T00:00:00Z","title":"dfgdfg","spam_reports":0,"by_profile_id":1,"comment_count":0,"id":1,"description":"htt","on_type":"profile","adult_reports":0,"on_id":1,"created_at":"2010-03-20T00:00:00Z"}}]; 

Изменения здесь: добавлены закрывающей скобки, удалил дополнительную упаковку [] и удалил вызов TGallery(). Затем вы можете зацикливаться на изображениях/доступах следующим образом:

$.each(gallery, function(i, o) { 
    alert(o.image.updated_at); 
});​ 
+0

спасибо за этот отзыв. Я буду использовать в своем приложении;) действительно хорошо –

0

Это уже "JS объект". Просто попробуйте обратиться к аргументу в TGallery, и вы увидите.

+0

спасибо;) Хехех так глупо, что я был –

0

Вы уже проходите в объекте JavaScript в этом примере. Если у вас была строка JSON, вы можете сделать следующее:

Если вы используете jQuery> = 1.4.1, вы можете использовать свой встроенный метод parseJSON, чтобы превратить вашу строку JSON в объект. В противном случае вы захотите использовать library from JSON.org.

+0

Я уверен, что есть действительно веская причина не делать этого, но что случилось с добрым старым eval? – spender

+0

@spender 'eval' будет исполнять строку как код точно так же, как написано. Использование анализатора JSON проверит, соответствует ли строка формату JSON, который защищает ваш скрипт от различных последствий безопасности, которые были тщательно задокументированы в Интернете. –

+0

Если «JSON» из надежного источника, eval() не вводит никаких дыр в безопасности, однако я лично предпочитаю постоянно обращаться с eval как с злом. –