# &kde; Frameworks: KService

`desktoptojson`

8

`desktoptojson`

Перетворює файл `.desktop` на файл `.json`.

## Короткий опис

    desktoptojson --input ФАЙЛ-DESKTOP --output ФАЙЛ-JSON

    desktoptojson  --version --help

## Опис

Бібліотеки KService використовують дані, що зберігаються у файлах `.desktop`, для пошуку служб, зокрема додатків для програм та бібліотек на основі Qt5. Втім, система додатків Qt5 використовує дані JSON, які вбудовано до самого додатка. За допомогою `desktoptojson` можна скористатися даними, що містяться у файлі `.desktop`, так само як вбудованими даними для додатка Qt5, шляхом перетворення записів файла `.desktop` у дані JSON.

Перетворені дані JSON являтимуть собою об’єкт JSON з відображенням записів з групи `[Desktop Entry]` файла `.desktop`. Усі інші групи буде проігноровано. Більшість записів буде просто перетворено у рядки JSON, але частину записів (зокрема `Hidden` та `X-KDE-PluginInfo-EnabledByDefault`), які є булевими значеннями, буде перетворено не булеві значення, а деякі (зокрема `X-KDE-ServiceTypes` та `X-KDE-PluginInfo-Depends`) завжди перетворюватимуться на масиви рядків.

## Параметри

`--input `ФАЙЛ-DESKTOP``

- Файл `.desktop`, який слід перетворити.

`--output `ФАЙЛ-JSON``

- Файл, до якого слід записати перетворені дані JSON.

`--help`

- Показати короткий довідковий текст.

`--version`

- Показати інформацію про версію програми.

## Користування

Більшість користувачів цієї програми використовуватимуть макрос CMake `kservice_desktop_to_json` як частину процесу збирання додатка.

    add_library(myplugin MODULE ${myplugin_SRCS})
    kservice_desktop_to_json(myplugin myplugin.desktop)

Ці команди призведуть до створення файла JSON `myplugin.json`, на який можна посилатися у макросах `K_PLUGIN_FACTORY_WITH_JSON` та `Q_PLUGIN_METADATA`.

## Вади

Для сповіщення про вади скористайтеся адресою системою стеження за вадами KDE.