# &kde-frameworks;: KService

`desktoptojson`

8

`desktoptojson`

Convierte un archivo `.desktop` a un archivo `.json`.

## Sinopsis

    desktoptojson --input archivo-desktop --output archivo-json

    desktoptojson  --version --help

## Descripción

La infraestructura Kservice utiliza la información contenida en los archivos `.desktop` para localizar servicios, incluidos los complementos para las aplicaciones y las bibliotecas basadas en Qt5. Sin embargo, el sistema de complementos de Qt5 utiliza datos &JSON; integrados en el propio complemento. La orden `desktoptojson` permite que la información contenida en un archivo `.desktop` también se pueda utilizar como datos integrados en un complemento Qt5 convirtiendo las entradas del archivo `.desktop` en datos &JSON;.

Los datos &JSON; generados son un objeto &JSON; que contiene las correspondencias de las entradas del grupo `[Desktop Entry]` del archivo `.desktop`. Cualquier otro grupo es ignorado. La mayoría de las entradas se comvierten a cadenas &JSON;, pero ciertas entradas (como `Hidden` y `X-KDE-PluginInfo-EnabledByDefault`) se sabe que son booleanas y se convierten como tales. De manera similar, otras (como `X-KDE-ServiceTypes` y `X-KDE-PluginInfo-Depends`) siempre se convierten a matrices de cadenas.

## Opciones

`--input `archivo-desktop``

- El archivo `.desktop` a convertir.

`--output `archivo-json``

- El archivo donde escribir los datos &JSON; generados.

`--help`

- Mostrar un breve texto de ayuda.

`--version`

- Mostrar información sobre la versión.

## Uso

La mayoría de los usuarios de esta utilidad usarán la macro &cmake; `kservice_desktop_to_json` como parte del proceso de compilar un complemento.

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

Esto crea el archivo &JSON; `myplugin.json`, al cual se puede hacer referencia desde las macros `K_PLUGIN_FACTORY_WITH_JSON` o `Q_PLUGIN_METADATA`.

## Errores

Use la herramienta de seguimiento de fallos de &kde; para informar de fallos.