Analysieren und serialisieren Sie JSON-RPC2-Nachrichten in freier Pascal- oder Delphi-Anwendung. Git Repository: https://github.com/r3code/pascal-jsonrpc-lite
Inspiriert von https://github.com/teambition/jsonrpc-lite.
Eine Implementierung von JSON-RPC 2.0-Spezifikationen
uses ujsonrpc;Gibt Objekt als IsuperObject Clonned Form Internal JSON-Object zurück.
Gibt eine JSON -String -Objektdarstellung zurück.
Parameter:
indent : {boolean} Einzugsgebiete resultierend JSONescape : {boolean} Escape Special CharsErstellt ein JSON-RPC 2.0-Anforderungsobjekt, geben Sie IJSONRPCMessage-Objekt zurück. Realisiert ijsonRpcMessage.
Parameter:
id : {String | Integer}method : {String}params : {ijsonRpcMessage}Beispiel:
var requestObj: TJsonRpcMessage;
requestObj := TJsonRpcMessage.Request( ' 123 ' , ' update ' , SO( ' {list: [1, 2, 3]} ' ));
writeln(requestObj.asString);
// {
// jsonrpc: '2.0',
// id: '123',
// method: 'update',
// params: {list: [1, 2, 3]}
// } Erstellt ein JSON-RPC 2.0-Benachrichtigungsobjekt, geben Sie IJSONRPCMessage-Objekt zurück.
Parameter:
method : {String}params : {ijsonRpcMessage}Beispiel:
var notificationObj: TJsonRpcMessage;
notificationObj := TJsonRpcMessage.notification( ' update ' , SO( ' {list: [1, 2, 3]} ' ));
writeln(notificationObj.asString);
// {
// jsonrpc: '2.0',
// method: 'update',
// params: {list: [1, 2, 3]}
// } Erstellt ein JSON-RPC 2.0 Success-Response-Objekt, geben Sie IJSONRPCMessage-Objekt zurück.
Parameter:
id : {String | Integer}result : {ijsonRpcMessage}Beispiel:
var msg: TJsonRpcMessage;
msg := TJsonRpcMessage.success( ' 123 ' , ' OK ' );
writeln(msg.asString);
// {
// jsonrpc: '2.0',
// id: '123',
// result: 'OK',
// } Erstellt ein JSON-RPC 2.0-Fehlerantwortobjekt, geben Sie IJSONRPCMessage-Objekt zurück.
Parameter:
id : {String | Integer}error : {ijsonrpcMessage} Verwenden Sie TjsonRpCerror oder es sind GeschwisterBeispiel:
var msg: TJsonRpcMessage;
msg := TJsonRpcMessage.Error( ' 123 ' , TJsonRpcError.Create(- 32000 , ' some error ' , ' blabla ' ));
writeln(msg.asString);
// {
// jsonrpc: '2.0',
// id: '123',
// error: {code: -32000, 'message': 'some error', data: 'blabla'},
// } Nimmt eine JSON-RPC 2.0-Payload (String) und versucht, sie in einen JSON zu analysieren. Wenn Sie erfolgreich sind, bestimmen Sie, welches Objekt es ist (Antwort, Benachrichtigung, Erfolg, Fehler oder ungültig) und geben Sie den Typ und den ordnungsgemäß formatierten Objekt zurück.
Parameter:
s : {String}Gibt ein Objekt von {ijsonRpcParsed} zurück.
Zeigt die Art der Nachricht an, die während der Parse erkannt wurde. Typen: Jotinvalid, Jotrequest, Jotnotifikation, Jotsuccess, JoTerror.
Gibt einen von <{jsonRpcObjectType} zurück.
Rendits gespeicherte Schiedsrichter an ijsonRpcMessage.
Realisiert die Schnittstelle ijsonRpcParsed.
Erstellen Sie eine TJSONRPCPARED -Instanz.
Parameter:
objType : {TJSONRPCObjectType} Nachrichtenformattyppayload : {ijsonRpcMessage} NachrichtenkörperBeschreibt JSON-RPC 2.0 Fehlerobjekt. Realisiert die Schnittstelle IJSONRPCMessage.
Erstellen Sie eine TJSONRPCERROR -Instanz.
Parameter:
code : {Integer}message : {String}data : {String | isuperObject | nil} optional optionalBeispiele:
var error: TJsonRpcError;
error = TJsonRpcError.Create(- 32651 , ' some error ' , ' some data ' );oder
var error: TJsonRpcError;
error = TJsonRpcError.Create(- 32651 , ' some error ' , SO( ' { a: 1, extra: "some data"} ' ));Erstellen Sie {TJSONRPCERROR} -Objekt mit Fehlercode -32600.
Parameter:
data : {String | isuperObject | nil} - zusätzliche Daten Erstellen Sie {TJSONRPCERROR} -Objekt mit Fehlercode -32601.
Parameter:
data : {String | isuperObject | nil} - zusätzliche Daten Erstellen Sie {TJSONRPCERROR} -Objekt mit Fehlercode -32602.
Parameter:
data : {String | isuperObject | nil} - zusätzliche Daten Erstellen Sie {TJSONRPCERROR} -Objekt mit Fehlercode -32603.
Parameter:
data : {String | isuperObject | nil} - zusätzliche Daten Erstellen Sie {TJSONRPCERROR} -Objekt mit Fehlercode -32700.
Parameter:
data : {String} - Fehlertext