Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Shell/bash, подскажите библиотеку для json encode  (Прочитано 966 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dexel

  • Автор темы
  • Активист
  • *
  • Сообщений: 295
    • Просмотр профиля
Здравствуйте.
Нужно сформировать из массива в SHELL/bash строку в json-формате.

Код: (javascript) [Выделить]
a:5:{s:5:"width";i:200;s:6:"height";i:180;s:4:"file";s:17:"2014/07/grunt.jpg";s:5:"sizes";a:1:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"grunt-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;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:"";}}
В читаемом виде:
Код: (javascript) [Выделить]
a:5:{
s:5:"width";
i:200;
s:6:"height";
i:180;
s:4:"file";
s:17:"2014/07/grunt.jpg";
s:5:"sizes";
a:1:{
s:9:"thumbnail";
a:4:
{
s:4:"file";
s:17:"grunt-150x150.jpg";
s:5:"width";
i:150;
s:6:"height";
i:150;
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:"";
}
}

Формировать его буду в shell. Далее записывать в базу (стрОки типом text).

Может есть утилиты типа xpath, hxselect?

(только одностороннее кодирование нужно: в json)

Пользователь решил продолжить мысль 15 Июля 2014, 07:09:38:
Наверное вопрос снимаю.
Всё же наглядней будет забивать переменные в сей шаблон. Потому как структура всегда одинаковая.
Затем чистку пробелов SEDом.
Главное что длИны стрингов для JSON будут создаваться автоматом:
Для формирования строки:
s:17:"2014/07/grunt.jpg";
name_picture='2014/07/grunt.jpg'

content=`cat << EOTEMPL
  s:${#name_picture}:"$name_picture";
EOTEMPL
`
Закрыто.
« Последнее редактирование: 15 Июля 2014, 07:09:38 от Dexel »

 

Страница сгенерирована за 0.02 секунд. Запросов: 22.