# &kde;-ramverk: KService

`desktoptojson`

8

`desktoptojson`

Konverterar en `.desktop`-fil till en `.json`-fil.

## Översikt

    desktoptojson --input SKRIVBORDSFIL --output JSON-FIL

    desktoptojson  --version --help

## Beskrivning

KService-ramverket använder information som finns i `.desktop`-filer för att hitta tjänster, inklusive insticksprogram för Qt5-baserade program och bibliotek. Qt5-instickssystemet använder dock &JSON;-data inbäddad i själva insticksprogrammet. `desktoptojson` gör det möjligt att också använda informationen som finns i en `.desktop`-fil som inbäddad data för ett Qt5-insticksprogram genom att konvertera `.desktop`-filens poster till &JSON;-data.

Skapad &JSON;-data är ett &JSON;-objekt som avbildar posterna från gruppen `[Desktop Entry]` i `.desktop`-filen. Alla andra grupper ignoreras. De flesta poster konverteras bara till &JSON;-strängar, men för vissa poster (såsom `Hidden` and `X-KDE-PluginInfo-EnabledByDefault`) är det känt att de är Booleska värden, och de konverteras som sådana. På liknande sätt konverteras vissa andra (såsom `X-KDE-ServiceTypes` och `X-KDE-PluginInfo-Depends`) alltid som fält av strängar.

## Väljare

`--input `SKRIVBORDSFIL``

- `.desktop`-filen att konvertera.

`--output `JSON-FIL``

- Filen dit genererad &JSON;-data ska skrivas.

`--help`

- Visa en kortfattad hjälptext.

`--version`

- Visa versionsinformation.

## Användning

De flesta användare av verktyget kommer att använda &cmake;-makrot `kservice_desktop_to_json` som en del av processen när ett insticksprogram byggs.

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

Det skapar JSON-filen `myplugin.json`, som kan refereras i makrot `K_PLUGIN_FACTORY_WITH_JSON` eller `Q_PLUGIN_METADATA`.

## Fel

Använd &kde;:s felspårningssystem för att rapportera fel.