JSON-formaat

Om het gemakkelijk te maken om resultaten van kid3-cli te ontleden, is het mogelijk de uitvoer in JSON formaat te krijgen. Wanneer het verzoek in JSON formaat is, zal het antwoord ook in JSON zijn. Een compact formaat van het verzoek zal ook een compacte representatie van het antwoord zijn. Als het verzoek een "id"-veld bevat, wordt aangenomen dat het een JSON-RPC verzoek is en het antwoord zal een "jsonrpc" veld zijn en het "id" van het verzoek. Het verzoekformaat gebruikt dezelfde commando's als het standaard CLI, het "method" veld bevat het commando en de parameters (indien aanwezig) zijn gegeven in de "params" lijst. Het antwoord bevat een "result" object, dat ook nul kan zijn als het overeenkomstige kid3-cli commando geen resultaat terugstuurt. In geval van een fout wordt een "error" object teruggestuurd met "code" and "message" velden zoals gebruikt in JSON-RPC.

kid3-cli> {"method":"set","params":["artist","Een artiest"]}
{"result":null}
kid3-cli> {"method":"get","params":["artiest",2]}
{"result":"Een artiest"}
kid3-cli> {"method": "get", "params": ["artist"]}
{
    "result": "Een artiest"
}

kid3-cli> {"jsonrpc":"2.0","id":"123","method":"get","params":["artist"]}
{"id":"123","jsonrpc":"2.0","result":"Een artiest"}