# &kde; Framework: KService

`desktoptojson`

8

`desktoptojson`

Mengkonversi sebuah file `.desktop` ke sebuah file `.json`.

## Sinopsis

    desktoptojson --input DESKTOP-FILE --output JSON-FILE

    desktoptojson  --version --help

## Deskripsi

Kerangka-kerja KService menggunakan informasi yang terisi di dalam file `.desktop` untuk menempatkan layanan, termasuk plugin untuk pustaka lib dan aplikasi berbasis-Qt5. Sistem plugin Qt5, namun, menggunakan data JSON yang tertanam dalam plugin itu sendiri. `desktoptojson` memungkinkan informasi yang terisi dalam file `.desktop` yang juga digunakan sebagai data tertanam untuk plugin Qt5 dengan mengkonversi seluruh file `.desktop` ke dalam data JSON.

Data JSON yang dihasilkan adalah sebuah objek JSON yang memetakan keseluruhan dari grup `[Desktop Entry]` pada file `.desktop`. Grup lain apa pun diabaikan. Banyak entri-entri yang hanya dikonversi ke string JSON, tapi entri tertentu (sepertihalnya `Hidden` dan `X-KDE-PluginInfo-EnabledByBaku`) telah diketahui menjadi nilai-nilai boolean dan dikonversi seperti itu, dan beberapa yang mirip (sepertihalnya `X-KDE-ServiceTypes` dan `X-KDE-PluginInfo-Depends`) yang selalu dikonversi untuk susunan string.

## Opsi

`--input `DESKTOP-FILE``

- File `.desktop` untuk dikonversi.

`--output `JSON-FILE``

- File untuk penulisan yang dihasilkan data JSON ke.

`--help`

- Tampilkan sebuah teks bantuan yang singkat.

`--versi`

- Tampilkan informasi versi.

## Penggunaan

Beberapa penggunaan utilitas ini akan menggunakan macro CMake `kservice_desktop_to_json` sebagai bagian dari proses pembangunan sebuah plugin.

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

Ini akan menghasilkan file JSON `myplugin.json`, yang bisa direferensikan dari macros `K_PLUGIN_FACTORY_WITH_JSON` atau `Q_PLUGIN_METADATA`.

## Bug

Silakan gunakan KDE's bugtracker untuk melaporkan bug.