# &kde-frameworks;: KService

`desktoptojson`

8

`desktoptojson`

Convertix un fitxer `.desktop` a un fitxer `.json`.

## Sinopsi

    desktoptojson --input FITXER_DESKTOP --output FITXER_JSON

    desktoptojson  --version --help

## Descripció

L'entorn de treball KService utilitza la informació continguda en els fitxers `.desktop` per a localitzar els serveis, inclosos els connectors per a les aplicacions i biblioteques basades en les &Qt; 5. De tota manera, el sistema de connectors de les &Qt; 5, utilitza les dades &JSON; incrustades en el mateix connector. `desktoptojson` permet que la informació continguda en un fitxer `.desktop` també es puga utilitzar com a dades incrustades en un connector de les Qt 5, convertint les entrades a dins del fitxer `.desktop` en dades &JSON;.

Les dades &JSON; generades són un objecte &JSON; que mapa les entrades des del grup `[Desktop Entry]` del fitxer `.desktop`. Qualssevol altre grup serà ignorat. La majoria de les entrades són senzillament convertides a cadenes &JSON;, però certes entrades (com `Hidden` i `X-KDE-PluginInfo-EnabledByDefault`) són conegudes per ser valors booleans i per tant es convertixen, i algunes similars (com `X-KDE-ServiceTypes` i `X-KDE-PluginInfo-Depends`) sempre es convertixen a matrius de cadenes.

## Opcions

`--input `FITXER_DESKTOP``

- El fitxer `.desktop` a convertir.

`--output `FITXER_JSON``

- El fitxer on escriure les dades &JSON; generades.

`--help`

- Mostra un text breu d'ajuda.

`--version`

- Mostra la informació sobre la versió.

## Ús

La majoria dels usuaris d'esta eina podran utilitzar la macro de &cmake; `kservice_desktop_to_json` com a part del procés de construcció d'un connector.

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

Açò presentarà el fitxer &JSON; `myplugin.json`, al qual es pot fer referència des de les macros `K_PLUGIN_FACTORY_WITH_JSON` o `Q_PLUGIN_METADATA`.

## Errors

Utilitzeu el Seguidor d'errors de &kde; (escriviu-hi en anglés) per a informar dels errors.