Parse dan serial pesan JSON-RPC2 dalam aplikasi pascal bebas atau Delphi. Git Repository: https://github.com/r3code/pascal-jsonrpc-lite
Terinspirasi oleh https://github.com/teambition/jsonrpc-lite.
Implementasi spesifikasi JSON-RPC 2.0
uses ujsonrpc;Returns Object sebagai isuPerObject dari JSON-object internal.
Mengembalikan representasi objek string JSON.
Params:
indent : {boolean} indent menghasilkan jsonescape : {Boolean} Escape Special CharsMembuat objek permintaan JSON-RPC 2.0, mengembalikan objek IJSONRPCMessage. Mewujudkan ijsonrpcmessage.
Params:
id : {String | Integer}method : {String}params : {ijsonrpcmessage}Contoh:
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]}
// } Membuat objek pemberitahuan JSON-RPC 2.0, return ijsonrpcmessage objek.
Params:
method : {String}params : {ijsonrpcmessage}Contoh:
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]}
// } Membuat objek respons keberhasilan JSON-RPC 2.0, return ijsonrpcmessage objek.
Params:
id : {String | Integer}result : {ijsonrpcmessage}Contoh:
var msg: TJsonRpcMessage;
msg := TJsonRpcMessage.success( ' 123 ' , ' OK ' );
writeln(msg.asString);
// {
// jsonrpc: '2.0',
// id: '123',
// result: 'OK',
// } Membuat objek respons kesalahan JSON-RPC 2.0, return ijsonrpcmessage objek.
Params:
id : {String | Integer}error : {ijsonrpcmessage} Gunakan tjsonrpcerror atau saudara kandungnyaContoh:
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'},
// } Membawa payload JSON-RPC 2.0 (String) dan mencoba menguraikannya menjadi JSON. Jika berhasil, tentukan objek apa itu (respons, pemberitahuan, keberhasilan, kesalahan, atau tidak valid), dan kembalikan jenisnya dan objek yang diformat dengan benar.
Params:
s : {string}Mengembalikan objek {ijsonrpcparsed}.
Menunjukkan jenis pesan yang terdeteksi selama parse. Jenis: JotinValid, Jotrequest, Jotnotification, Jotsuccess, Joterror.
Mengembalikan salah satu dari <{jsonrpcObjectType}.
Returns Simpan Ref ke IJSONRPCMessage.
Mewujudkan antarmuka ijsonrpcparsed.
Buat instance tjsonrpcparsed.
Params:
objType : {tjsonrpcObjectType} jenis format pesanpayload : {ijsonrpcmessage} body pesanMenjelaskan objek kesalahan JSON-RPC 2.0. Mewujudkan antarmuka ijsonrpcmessage.
Buat instance tjsonrpcerror.
Params:
code : {integer}message : {String}data : {String | ISuPerObject | nil} opsionalContoh:
var error: TJsonRpcError;
error = TJsonRpcError.Create(- 32651 , ' some error ' , ' some data ' );atau
var error: TJsonRpcError;
error = TJsonRpcError.Create(- 32651 , ' some error ' , SO( ' { a: 1, extra: "some data"} ' ));Buat objek {tjsonrpcerror} dengan kode kesalahan -32600.
Params:
data : {String | IsUperObject | NIL} - Data tambahan Buat objek {tjsonrpcerror} dengan kode kesalahan -32601.
Params:
data : {String | IsUperObject | NIL} - Data tambahan Buat objek {tjsonrpcerror} dengan kode kesalahan -32602.
Params:
data : {String | IsUperObject | NIL} - Data tambahan Buat objek {tjsonrpcerror} dengan kode kesalahan -32603.
Params:
data : {String | IsUperObject | NIL} - Data tambahan Buat objek {tjsonrpcerror} dengan kode kesalahan -32700.
Params:
data : {String} - Teks Kesalahan