Перевод из json в объект

Статус
В этой теме нельзя размещать новые ответы.

vipTelnet

Постоялец
Регистрация
14 Янв 2013
Сообщения
143
Реакции
11
Всем привет

есть к примеру вот такой json объект как я понимаю
PHP:
a:5:{s:5:"width";i:422;s:6:"height";i:600;s:4:"file";s:78:"2012/09/1346751489_ikinokz.net_1346615885_70975185ebad03bf14f8cae3530e4faa.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:78:"1346751489_ikinokz.net_1346615885_70975185ebad03bf14f8cae3530e4faa-183x260.jpg";s:5:"width";i:183;s:6:"height";i:260;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:78:"1346751489_ikinokz.net_1346615885_70975185ebad03bf14f8cae3530e4faa-211x300.jpg";s:5:"width";i:211;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}
или такой
PHP:
a:5:{s:5:"width";i:429;s:6:"height";i:600;s:4:"file";s:27:"2012/06/Sherif_2_poster.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:27:"Sherif_2_poster-183x255.jpg";s:5:"width";i:183;s:6:"height";i:255;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:27:"Sherif_2_poster-214x300.jpg";s:5:"width";i:214;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}
это запись meta_value для значения meta_key = _wp_attached_file из таблицы Для просмотра ссылки Войди или Зарегистрируйся
Как Вs наверное уже догадались это настройки Wordpress
что ни как не получается их обратно в объект преобразовать
PHP:
print_r( json_decode( 'a:5:{s:5:"width";i:422;s:6:"height";i:600;s:4:"file";s:78:"2012/09/1346751489_ikinokz.net_1346615885_70975185ebad03bf14f8cae3530e4faa.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:78:"1346751489_ikinokz.net_1346615885_70975185ebad03bf14f8cae3530e4faa-183x260.jpg";s:5:"width";i:183;s:6:"height";i:260;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:78:"1346751489_ikinokz.net_1346615885_70975185ebad03bf14f8cae3530e4faa-211x300.jpg";s:5:"width";i:211;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}' , true ) );

echo  json_last_error (  );
Выдает 4
посмотрел 4 = JSON_ERROR_SYNTAX
а где ошибка что то ни как не пойму
 
Потому что это не json, это serialize Пользуй функцию unserialize
 
PHP:
var_dump(unserialize('a:5:{s:5:"width";i:422;s:6:"height";i:600;s:4:"file";s:78:"2012/09/1346751489_ikinokz.net_1346615885_70975185ebad03bf14f8cae3530e4faa.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:78:"1346751489_ikinokz.net_1346615885_70975185ebad03bf14f8cae3530e4faa-183x260.jpg";s:5:"width";i:183;s:6:"height";i:260;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:78:"1346751489_ikinokz.net_1346615885_70975185ebad03bf14f8cae3530e4faa-211x300.jpg";s:5:"width";i:211;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'));


KillDead, опередил чуток :-]
 
Ешкин кот я 3 часа ломал голову,
:alko::idea::sun:
а оно вот как значит, я же и сам раньше использовал эту serialize и unserialize для хранения массивов и объектов в базе
спасибо
теперь все работает.:thenks::yahoo:
Код:
Array
(
    [width] => 422
    [height] => 600
    [file] => 2012/09/1346751489_ikinokz.net_1346615885_70975185ebad03bf14f8cae3530e4faa.jpg
    [sizes] => Array
        (
            [thumbnail] => Array
                (
                    [file] => 1346751489_ikinokz.net_1346615885_70975185ebad03bf14f8cae3530e4faa-183x260.jpg
                    [width] => 183
                    [height] => 260
                    [mime-type] => image/jpeg
                )

            [medium] => Array
                (
                    [file] => 1346751489_ikinokz.net_1346615885_70975185ebad03bf14f8cae3530e4faa-211x300.jpg
                    [width] => 211
                    [height] => 300
                    [mime-type] => image/jpeg
                )

        )

    [image_meta] => Array
        (
            [aperture] => 0
            [credit] =>
            [camera] =>
            [caption] =>
            [created_timestamp] => 0
            [copyright] =>
            [focal_length] => 0
            [iso] => 0
            [shutter_speed] => 0
            [title] =>
        )

)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху