JSON Format

Um die Antworten von kid3-cli einfacher von Programmen zu verarbeiten, können sie im JSON-Format ausgegeben werden. Wenn das Kommando im JSON-Format daherkommt, so wird auch die Antwort in JSON geliefert. Wird im Kommando eine kompakte JSON-Repräsentation verwendet, so wird auch das Resultat kompakt. Wenn das Kommando ein "id"-Feld enthält, so wird es als JSON-RPC interpretiert und die Antwort enthält ein "jsonrpc"-Feld und die "id" der Anfrage. Dieselben Kommandos wie im Standard-CLI werden verwendet, der Befehl ist im "method"-Feld und die Parameter (sofern es solche hat) in der "params"-Liste. Die Antwort enthält ein "result"-Objekt, welches auch null sein kann, falls der entsprechende kid3-cli-Befehl kein Resultat ausgibt. Im Falle eines Fehlers wird ein "error"-Objekt zurückgegeben, welches "code" und "message" wie in JSON-RPC enthält.

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

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