Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. libjson-rpc-cpp

libjson-rpc-cpp

MITC++v1.4.1

A cross-platform C++ framework for building JSON-RPC 2.0 & 1.0 compatible client and server applications.

GitHubGitHub
984 stars324 forks0 contributors

What is libjson-rpc-cpp?

libjson-rpc-cpp is a C++ framework for implementing JSON-RPC (JSON Remote Procedure Call) clients and servers. It provides full compatibility with JSON-RPC 2.0 and partial support for 1.0, enabling developers to build distributed systems with standardized remote communication. The framework includes tools like a stub generator and ready-to-use transport layers to streamline RPC application development.

Target Audience

C++ developers building distributed systems, microservices, or any application requiring remote procedure calls over JSON-RPC protocols. It is particularly useful for projects needing cross-platform RPC support with extensible transport options.

Value Proposition

Developers choose libjson-rpc-cpp for its comprehensive JSON-RPC compliance, cross-platform readiness, and productivity features like automatic stub generation. Its modular architecture and liberal MIT license make it a flexible and accessible choice for both open-source and commercial projects.

Overview

C++ framework for json-rpc (json remote procedure call)

Use Cases

Best For

  • Building JSON-RPC servers and clients in C++ applications
  • Generating stub code for multiple languages from JSON-RPC specifications
  • Implementing cross-platform RPC communication with HTTP or TCP transports
  • Developing microservices that require standardized remote procedure calls
  • Extending existing systems with custom JSON-RPC connectors or transports
  • Creating tools that interact with JSON-RPC APIs like Ethereum or Bitcoin nodes

Not Ideal For

  • Projects requiring a lightweight, header-only JSON-RPC library without external dependencies
  • Systems that need full JSON-RPC 1.0 compatibility for legacy integration
  • Teams prioritizing modern C++17+ features and minimal setup, as the README promotes a newer alternative (json-rpc-cxx)
  • Environments where easy cross-platform support for Windows is critical, as native builds rely on a separate installer

Pros & Cons

Pros

Full Protocol Compliance

Supports complete JSON-RPC 2.0 and partial 1.0 specifications, ensuring standardized remote procedure calls for both clients and servers, as stated in the README.

Stub Generation Automation

Includes jsonrpcstub tool to automatically generate client and server stub classes from JSON spec files, supporting C++, JavaScript, and Python, reducing manual coding effort.

Built-in Transport Layers

Offers ready-to-use HTTP, TCP, Redis, and Unix socket connectors, allowing quick integration without custom transport implementation, as highlighted in the features.

Extensible Architecture

Designed with a clean, modular structure that makes it easy to add new transports or customize features, per the README's emphasis on extensibility.

Cons

Legacy Codebase Warning

The README explicitly promotes a newer header-only implementation (json-rpc-cxx), indicating this library may be outdated or less optimized for modern C++ development.

Heavy Dependency Chain

Requires multiple external libraries like libcurl and libmicrohttpd, complicating installation and increasing project footprint compared to lighter alternatives.

Complex Build Configuration

Involves numerous CMake flags to enable or disable features (e.g., transports), adding overhead and potential for errors in setup, as seen in the build options.

Frequently Asked Questions

Quick Stats

Stars984
Forks324
Contributors0
Open Issues19
Last commit2 years ago
CreatedSince 2013

Tags

#http-server#json-rpc#api-framework#tcp-server#client-server#remote-procedure-call#c-plus-plus#microservices#cross-platform#rpc#json#cpp

Built With

l
libmicrohttpd
C
CMake
C
Catch2
l
libcurl
C
C++

Included in

C/C++70.6k
Auto-fetched 6 hours ago

Related Projects

bRPCbRPC

brpc is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. "brpc" means "better RPC".

Stars17,500
Forks4,102
Last commit7 days ago
Cap'n ProtoCap'n Proto

Cap'n Proto serialization/RPC system - core tools and C++ library

Stars13,010
Forks1,047
Last commit1 day ago
nanomsgnanomsg

nanomsg library

Stars6,272
Forks1,035
Last commit6 months ago
nngnng

nanomsg-next-generation -- light-weight brokerless messaging

Stars4,573
Forks556
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub