# &kde-frameworks;: KService

`desktoptojson`

8

`desktoptojson`

Converte un file `.desktop` in un file `.json`.

## Sintassi

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

    desktoptojson  --version --help

## Descrizione

Il framework KService usa informazioni contenute nei file `.desktop` per localizzare i servizi, incluse le estensioni per applicazioni e librerie basate su Qt5. Il sistema delle estensioni di Qt5, tuttavia, usa dati &JSON; integrati nelle stesse estensioni. `desktoptojson` permette che le informazioni contenute in un file `.desktop` siano usate anche come i dati integrati in un'estensione Qt5 convertendo le voci del file `.desktop` in dati &JSON;.

I dati &JSON; generati costituiscono un oggetto &JSON; che mappa le voci dal gruppo `[Desktop Entry]` del file `.desktop`. Tutti gli altri gruppi sono ignorati. La maggior parte delle voci sono semplicemente convertite in stringhe &JSON;, ma alcune di esse (come `Hidden` e `X-KDE-PluginInfo-EnabledByDefault`) sono notoriamente valori booleani e quindi viene usato tale tipo; analogamente altre voci (come `X-KDE-ServiceTypes` e `X-KDE-PluginInfo-Depends`) sono sempre convertite in vettori di stringhe.

## Opzioni

`--input `FILE-DESKTOP``

- Il file `.desktop` da convertire.

`--output `FILE-JSON``

- Il file in cui scrivere i dati &JSON; generati.

`--help`

- Mostra un breve testo di aiuto.

`--version`

- Mostra le informazioni sulla versione.

## Uso

Buona parte degli utenti di questo strumento useranno la macro di &cmake; `kservice_desktop_to_json` come parte del processo di generazione di un'estensione.

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

Questo produrrà il file &JSON; `myplugin.json` a cui si può fare riferimento dalle macro `K_PLUGIN_FACTORY_WITH_JSON` o `Q_PLUGIN_METADATA`.

## Errori

Usa il sito di gestione dei bug di &kde; per segnalarli.