Parse et sérialiser les messages JSON-RPC2 dans l'application Free-Pascal ou Delphi. Git Repository: https://github.com/r3code/pascal-jsonrpc-lite
Inspiré par https://github.com/teambition/jsonrpc-lite.
Une implémentation des spécifications JSON-RPC 2.0
uses ujsonrpc;Renvoie l'objet comme iSuperObject Clonned Form Internal JSON-Object.
Renvoie une représentation d'objet JSON String.
Paramètres:
indent : {booléen}escape : {Boolean} Escape Special CharsCrée un objet de demande JSON-RPC 2.0, RETOUR IJSONRPCMESSAGE. Se rend compte ijsonrpcMessage.
Paramètres:
id : {String | entier}method : {String}params : {ijsonrpcMessage}Exemple:
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]}
// } Crée un objet de notification JSON-RPC 2.0, RETOUR IJSONRPCMESSAGE.
Paramètres:
method : {String}params : {ijsonrpcMessage}Exemple:
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]}
// } Crée un objet JSON-RPC 2.0 Success Response, RETOUR IJSONRPCMESSAGE.
Paramètres:
id : {String | entier}result : {ijsonrpcMessage}Exemple:
var msg: TJsonRpcMessage;
msg := TJsonRpcMessage.success( ' 123 ' , ' OK ' );
writeln(msg.asString);
// {
// jsonrpc: '2.0',
// id: '123',
// result: 'OK',
// } Crée un objet de réponse d'erreur JSON-RPC 2.0, RETOUR IJSONRPCMESSAGE.
Paramètres:
id : {String | entier}error : {ijsonrpcMessage} Utilisez tjsonrpcerror ou ses frères et sœursExemple:
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'},
// } Prend une charge utile JSON-RPC 2.0 (String) et essaie de l'analyser en JSON. En cas de succès, déterminez quel objet est-il (réponse, notification, succès, erreur ou invalide) et renvoyez son type et son objet correctement formaté.
Paramètres:
s : {String}Renvoie un objet de {ijsonrpcParsed}.
Montre le type de message détecté pendant l'analyse. Types: Jotinvalid, JoTrequest, Jotnotification, Jotsuccess, JOTERROR.
Renvoie l'un des <{JSONRPCObjectType}.
Renvoie un refuge stocké à ijsonrpcMessage.
Réalise l'interface ijsonrpcparsed.
Créez une instance TJSONRPCPARSED.
Paramètres:
objType : {TJSONRPCOBJECTTYPE} Type de format de messagepayload : {ijsonrpcMessage} corps de messageDécrit l'objet d'erreur JSON-RPC 2.0. Réalise l'interface ijsonrpcMessage.
Créez une instance TJSONRPCERROR.
Paramètres:
code : {entier}message : {String}data : {String | iSuperObject | Nil} FacultatifExemples:
var error: TJsonRpcError;
error = TJsonRpcError.Create(- 32651 , ' some error ' , ' some data ' );ou
var error: TJsonRpcError;
error = TJsonRpcError.Create(- 32651 , ' some error ' , SO( ' { a: 1, extra: "some data"} ' ));Create {TJSONRPCERROR} Objet avec code d'erreur -32600.
Paramètres:
data : {String | iSuperObject | Nil} - Données supplémentaires Créer {TJSONRPCERROR} Objet avec code d'erreur -32601.
Paramètres:
data : {String | iSuperObject | Nil} - Données supplémentaires Créer {TJSONRPCERROR} Objet avec code d'erreur -32602.
Paramètres:
data : {String | iSuperObject | Nil} - Données supplémentaires Create {TJSONRPCERROR} Objet avec code d'erreur -32603.
Paramètres:
data : {String | iSuperObject | Nil} - Données supplémentaires Créer {TJSONRPCERROR} Objet avec code d'erreur -32700.
Paramètres:
data : {String} - Texte d'erreur