- Notifications
You must be signed in to change notification settings - Fork 86
Alternative Implementations
| Name | JSON-RPC version | Description | Languages(s) |
|---|---|---|---|
JsonRpc DNX Router | 2.0 | A DNX IRouter implementation for JSON-RPC v2 requests for Microsoft.AspNet.Routing (frameworks: dnx451, dnxcore50). | .NET |
JSON-RPC.NET | 2.0 | A fast, open-source JSON-RPC 2.0 server. Supports sockets, pipes, and HTTP with ASP.NET. Requires Mono or .NET Framework 4.0. | .NET |
Jayrock | 1.0 | A server implementation of JSON-RPC 1.0 for versions 1.1 and 2.0 of Microsoft’s .NET Framework. | .NET |
jsonrpc-c | 2.0 | C library for JSON-RPC on TCP sockets (server only) | C |
jsonrpc | 2.0 | Transport-independent JSON-RPC server with parameters validation via jansson | C |
libjrpc | 2.0 | Lightweight JSON-RPC 2.0 client and server library | C |
libjson-rpc-cpp | 1.0+2.0 | Open source JSON-RPC framework for C, including client/server support via HTTP and a stub generator for C and JavaScript | C++ |
JsonRpc-Cpp | 2.0 | Open source JSON-RPC implementation in C++ | C++ |
gSOAP | 2.0 | Open source JSON/JSON-RPC implementation in C/C++, includes code generators for XML/SOAP and JSON/JSONPath | C/C++ |
Phobos | 2.0 | Implementation for Qt/C++. Abstracts the communication layer (there are TCP and HTTP classes ready to use, also). | C++ |
qjsonrpc | 2.0 | Implementation for Qt/C++. Supports connection between the messages and QObject’s slots (a la QDBus, qxtrpc) and utilizes the new JSON classes included as part of Qt5. | C++ |
cxxtools | 2.0 | cxxtools is a generic C++ library for Linux/Unix includes an implementation of jsonrpc client and server which are based on a generic serialization and RPC framework | C++ |
AnyRPC | 2.0 | Open source RPC framework that support multiple protocols including JSON-RPC | C++ |
jsonrpc-lean | 2.0 | Lightweight, fast, transport-agnostic, c++11 implementation of the JSON-RPC 2.0 specification | C++ |
clj-bson-rpc | 2.0 | Full duplex async JSON-RPC 2.0 library upon stream transport (such as TCP and TCP with TLS). | Clojure |
jsonrpc2-dart | 2.0 | Implementation for Dart. Server methods are transport-agnostic; Client is HTTP only. | Dart |
json_rpc_2 | 2.0 | Implementation for Dart. Supports transport-agnostic client, server, and bi-directional communication. Used in the Dart SDK. | Dart |
Superobject (was JSON Toolkit) | 2.0 | An implementation for Delphi | Delphi |
jsonrpc2-erlang | 2.0 | A minimalistic Erlang implementation that supports concurrent batch requests. Complete, but does nothing besides JSON-RPC 2.0. In particular, JSON encoding and decoding must be performed by the user. | Erlang |
go/net/rpc | ? | Standard Go library JSON-RPC implementation | Go |
Gorilla web toolkit | 1.0+2.0 | Gorilla is a web toolkit for the Go programming language. | Go |
Go-micro | 1.0+2.0 | Go Micro is a pluggable RPC framework for microservices. | Go |
json-rpc-server | 2.0 | An implementation of the server side of JSON RPC 2.0 | Haskell |
hs-json-rpc | 1.0+2.0 | А library for writing JSON-RPC client applications in Haskell | Haskell |
Jarpic | 2.0 | Uber-simple JSON-RPC 2.0 HttpClient implemented using Jackson2 & OkHttp (2016). Available on MavenCentral. | Java |
Brutusin-RPC | 2.0 | Released on 2016. JSON-RPC 2.0 over HTTP and Websockets. Built for maintainability. Easily exposes Java actions as self describing, documented services. Includes builtin service repository and functional testing module | Java |
corn-gate | 2.0 | JSON-RPC 2.0/HTPP, REST/HTTP supporting framework that runs on web application servers. POJO, Spring, EJB like objects can be easily exposed. | Java |
jsonrpc4j | 2.0 | Java implementation JSON-RPC 2.0 supporting streaming as well as HTTP servers. It also has support for Spring service exporter\consumer. | Java |
json-rpc | 1.0 | Generic Java/JavaScript implementation which integrates well on Android/Servlets/Standalone Java/JavaScript/App-Engine applications. | Java / JavaScript |
JSON Service | 2.0 | JSON-RPC protocol implementation (server-side) in Java with Service Mapping Description support. It integrates well with the Dojo Toolkit and Spring Framework. | Java |
JSON-RPC 2.0 | 2.0 | A minimalist Java library for parsing, representing and serializing JSON-RPC 2.0 messages (open source). Multiple implementations on the site (base, client, shell, etc.) | Java |
java-json-rpc | 2.0 | Implementation for J2EE servers. | Java |
lib-json-rpc | 2.0 | Implementation on servlet, client, JavaScript | Java |
simplejsonrpc | 2.0 | Another simple JSON-RPC 2.0 servlet, servicing the methods of a class. | Java |
gson-rmi | 2.0 | Light-weight, transport-independent, extensible RMI framework geared towards distributed computing | Java |
JDBCWizard | 2.0 | Generates JSON-RPC 2.0 services for calling PL/SQL and SQL statements in Oracle databases | Java |
jsonsrv | 2.0 | A lightweight, JAR-packaged, self-describing, JSON-RPC service framework for JEE (servlet-based) for easily exposing business methods through a JSON over HTTP API. Aimed at creating Ajax/JSON web interfaces | Java |
json-service | 1.2 | A very lightweight implementation of JSON-RPC for Java. | Java |
jrpc2 | 2.0 | Full featured, modular JSON-RPC 2.0 library with support of batches and named parameters. Server&Client. Features: Express, Koa, Socket.IO middlewares + HTTP, TCP, ZeroMQ transports. | JavaScript, Node.js, io.js |
jsonrpcjs | 1.0(2.0) | JavaScript client library for JSON-RPC 1.0, supports call batching has no dependency on external libraries. The main version does not contain support for named parameters, but on the GitHub is a pull request version to support JSON-RPC 2.0 (only) [1] | JavaScript |
Raptor RPC | 2.0 | A transport-agnostic RPC server with middleware support and an easy-to-use API. | JavaScript |
easyXDM | 2.0 | Library for cross-domain messaging with a built-in RPC feature. The library supports all web browsers by using a mix of postMessage, nix, frameElement, window.name, and FIM, and is very easy to use. | JavaScript |
Dojo Toolkit | 1.0+ | Offers a broad support for JSON-RPC | JavaScript |
Pmrpc | 2.0 | An inter-window and Web Worker remote procedure call JavaScript library for use within HTML5 browsers. Pmrpc is an implementation of JSON-RPC using the HTML5 postMessage API for message transport. | JavaScript |
qooxdoo | 2.0 | Includes a JSON-RPC implementation with optional backends. | JavaScript, Java, PHP, Perl, and Python |
JSON-RPC implementation in JavaScript | 2.0 | Includes JSON-RPC over HTTP and over TCP/IP sockets | JavaScript |
jabsorb | 2.0 | A lightweight Ajax/Web 2.0 JSON-RPC Java framework that extends the JSON-RPC protocol with additional ORB functionality such as circular references support. | JavaScript, Java |
The Wakanda platform | 2.0 | Includes a JSON-RPC 2.0 client in its Ajax framework and a JSON-RPC 2.0 service in server-side JavaScript | JavaScript |
Deimos | 1.0+2.0 | Server implementation for Node.js/JavaScript. | JavaScript |
jQuery JsonRpcClient | 2.0 | JSON-RPC 2.0 client for HTTP and WebSocket backends | JavaScript |
jrpc | 2.0 | Transport-agnostic full JSON-RPC 2.0 implementation, bidirectional (client and server on both ends simultaneously), adds backwards-compatible extensions. | JavaScript |
AFJSONRPCClient | 2.0 | JSON RPC Client addition to [AFNetworking] 2.0 | Objective-C |
DeferredKit | 1.0 | Includes a JSON-RPC 1.0 client. | Objective-C |
Demiurgic | 2.0 | JSON-RPC 2.0 client for Objective-C | Objective-C |
Oxen iPhone Commons JSON components | 1.0 | JSON-RPC 1.0 client for Objective-C | Objective-C |
objc-JSONRpc | 2.0 | An Objective-C JSON-RPC client. Supports notifications, single calls and multicalls | Objective-C |
JSON::RPC | 2.0 | JSON-RPC 2.0 server implementation | Perl |
json-rpc-perl6 | 2.0 | Client and server with dispatch to multi methods, support of positional/named parameters, notifications, batches and extensible error handling. | Perl 6 |
CSJRPC | 2.0 | Simple PHP (server only) implementation of JSON-RPC 2.0. It is based on Junior. | PHP |
php-json-rpc | 2.0 | Simple PHP implementation of a JSON-RPC 2.0 over HTTP client. | PHP |
JQuery JSON-RPC Server | 2.0 | This is a JSON-RPC server, specifically made to work with the Zend Framework JSON-RPC server. The Zend Framework JSON-RPC server is mildly off specifications, and therefore this may not work with other JSON-RPC servers. | PHP, JavaScript |
jsonrpc2php | 2.0 | A PHP5 BSD’d JSON-RPC 2.0 Core class and example server | PHP |
tivoka | 1.0+2.0 | Universal client/server JSON-RPC library for PHP 5+. | PHP |
Junior | 2.0 | Client/server library for JSON-RPC 2.0 | PHP |
json-rpc-php | 2.0 | Client/server library for JSON-RPC 2.0 | PHP |
JSONRpc2 | 2.0 | Implementation with the "dot magic" for PHP (= support for grouping of methods and separation by dots) | PHP |
PHP Objective JSON Client | 2.0 | Objective PHP implementation supports "dot magic" (= support for method grouping 'classes' using dots ) | PHP 5.3+ |
GetResponse jsonRPCClient | 2.0 | Object-oriented client implementation | PHP |
zoServices | 2.0 | PHP, Node.js and JavaScript implementation of JSON-RPC 2.0 | PHP, JavaScript, Node.js |
json-rpc | 2.0 | PHP and JavaScript implementation of JSON-RPC 2.0 | PHP, JavaScript |
jsonrpc-php | 2.0 | A JSON-RPC client/server implementation in PHP | PHP |
jsonrpcx-php | 2.0 | A JSON-RPC client/server implementation in PHP, includes extensions from JSONRPCX | PHP |
php-json-rpc | 2.0 | Implementation of JSON-RPC 2.0 excluding events and batches. It provides the implementation of the objects described by the specification and a JSON-RPC client. | PHP |
php-jsonrpc20 | 2.0 | Transport-independent server implementation | PHP |
cake-jsonrpc | 2.0 | CakePHP plug-in providing JSON-RPC server and client. | PHP |
json-rpc2php | 2.0 | A easy to use jsonRPC2 server written in PHP with a collection of multiple clients written in PHP, JavaScript, Python and Vala | PHP, Python, JavaScript, Vala |
jsonrpcinti | 2.0 | JSON-RPC 2.0 server (PHP) and clients (PHP, JavaScript). | PHP, JavaScript |
Josser | 1.0+2.0 | JSON-RPC client for PHP 5.3+ | PHP |
bsonrpc | 2.0 | Full duplex JSON-RPC over socket/stream transports, supports Python 2.7, 3.3+, supports gevent. | Python |
txjason | 2.0 | A client/server for Twisted. Currently supports netstrings over TCP. | Python |
Django JSON-RPC 2.0 | 2.0 | A JSON-RPC server for Django | Python |
Pyjamas | A JSON-RPC client implementation, as standard (Pyjamas is a framework where applications are written in Python, but they are compiled to JavaScript). | Python | |
Zope 3 | 1.1 | Python-based JSON-RPC server and client implementation for Zope 3 | Python |
jsonrpclib | 2.0 | A JSON-RPC client module for Python. | Python |
jsonrpclib-pelix | 2.0 | A fork of the jsonrpclib module, supporting Python 2 and 3. | Python |
tornadorpc | 2.0 | Supports serving JSON-RPC; requires the Tornado web server. | Python |
jsonrpcclient & jsonrpcserver | 2.0 | A newer standards-compliant client and server pair of modules for Python. | Python |
tinyrpc | 2.0 | Supports JSON-RPC over TCP, WSGI, ZeroMQ and others. Separates dispatching, protocol and transports for clean code reuse, i.e. can actually parse JSON-RPC message without running a server. | Python |
jsonrpc | 2.0 | An implementation of JSON-RPC 2.0 for Python + Twisted which uses composition to maximize code reusability | Python |
bjsonrpc | 1.0+ | Implementation over TCP/IP (asynchronous, bidirectional) | Python |
json-rpc | 1.0+2.0 | JSON-RPC transport implementation, supports Python 2.7, Python 3.2+. | Python |
Pulsar JSON-RPC | 2.0 | Asynchronous JSON-RPC implementation for both server and client, Python 3.4+. | Python |
Barrister RPC | 2.0 | Provides an IDL grammar and JSON-RPC client and server runtime implementations that enforce the IDL | Python, Ruby, JavaScript (Node.js + web browser), PHP, |
pyramid_rpc | 2.0 | Flexible JSON-RPC implementation that integrates directly into any Pyramid web application. Works with Pyramid’s auth system to provide method-level security and complex method lookup based on method parameters. | Python |
ReflectRPC | 1.0 | Framework for creating self-describing JSON-RPC services. Supports type checking, different transport protocols, TLS as well as tools for exploring services and creating documentation from a live service. | Python |
rjr | 2.0 | Allows generic JSON-RPC method handlers to be register and invoked over many transport protocols including TCP/UDP, HTTP, WebSockets, AMQP, and more | Ruby (EventMachine) server with Ruby and JavaScript clients |
jimson | 2.0 | Client and server for Ruby | Ruby |
JSON-RPC Objects | 1.0+ | Pure objects implementation (no client/server) with respect to specifications compliance and API backward compatibility. | Ruby |
Async JSON-RPC 2.0 client | 2.0 | Asynchronous (EventMachine) JSON-RPC 2.0 over HTTP client | Ruby |
play-json-rpc | 2.0 | A Scala library providing implicit play-json Formats for JSON-RPC 2.0 messages | Scala |
JSON-RPC RT | 2.0 | Full support of JSON-RPC 2.0, using TCP as transport protocol | Windows Runtime (WinRT) |
XINS | 2.0 | As of version 2.0, supports both JSON and JSON-RPC. | XML |