Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. jsonrpc

jsonrpc

MITGov2.5.0

A Go package for implementing JSON-RPC 2.0 servers with a simple, poetic, and pithy API.

GitHubGitHub
193 stars22 forks0 contributors

What is jsonrpc?

jsonrpc is a Go package that helps developers implement JSON-RPC 2.0 servers. It provides a clean API for registering methods, handling requests, and returning responses that comply with the JSON-RPC specification. The package solves the problem of building standardized remote procedure call interfaces in Go applications.

Target Audience

Go developers building JSON-RPC 2.0 compliant APIs, particularly those working on microservices, backend systems, or applications requiring remote procedure call capabilities.

Value Proposition

Developers choose jsonrpc because it offers a minimal, idiomatic Go implementation that's fully compliant with JSON-RPC 2.0 while maintaining simplicity and including useful features like a built-in debug endpoint for method inspection.

Overview

The jsonrpc package helps implement of JSON-RPC 2.0

Use Cases

Best For

  • Building JSON-RPC 2.0 compliant APIs in Go
  • Creating microservices that need remote procedure call capabilities
  • Implementing standardized communication between distributed Go services
  • Developing backend systems requiring JSON-RPC protocol support
  • Adding JSON-RPC endpoints to existing HTTP servers
  • Projects needing debug tools for JSON-RPC method inspection

Not Ideal For

  • Projects requiring built-in authentication, authorization, or security features out of the box
  • Teams needing a complete RPC solution with both server and client implementations
  • Applications where high performance is critical and binary protocols like gRPC are preferred
  • Systems that demand extensive middleware for logging, tracing, or rate limiting without custom code

Pros & Cons

Pros

Full Spec Compliance

Adheres strictly to JSON-RPC 2.0, ensuring reliable interoperability with other compliant systems, as highlighted in the README's focus on specification adherence.

Clean Go API

Offers a simple, idiomatic interface with method registration and context integration, fitting seamlessly into Go projects without unnecessary complexity.

Built-in Debug Endpoint

Includes a debug handler that automatically outputs JSON Schema for registered methods, aiding in documentation and testing, as shown in the usage examples.

Flexible Parameter Handling

Supports both named (object) and positional (array) parameters, accommodating various client needs without extra configuration.

Cons

Minimal Feature Set

Focuses only on core JSON-RPC compliance, lacking built-in features like middleware, authentication, or advanced error handling, requiring developers to implement these separately.

No Client Implementation

Only provides server-side functionality; developers must write their own clients or rely on other packages, adding to development overhead.

Advanced Interface Complexity

The advanced usage with interfaces like Servicer and HandleParamsResulter can introduce boilerplate and confusion for simple use cases, as seen in the README examples.

Frequently Asked Questions

Quick Stats

Stars193
Forks22
Contributors0
Open Issues4
Last commit1 year ago
CreatedSince 2016

Tags

#backend-development#http-server#json-rpc#api#api-server#go-library#remote-procedure-call#json-schema#microservices#rpc#json#go#rpc-api

Built With

G
Go

Included in

Go169.1k
Auto-fetched 6 hours ago

Related Projects

Go-zeroGo-zero

A cloud-native Go microservices framework with cli tool for productivity.

Stars33,213
Forks4,312
Last commit14 hours ago
go-kitgo-kit

A standard library for microservices.

Stars27,431
Forks2,444
Last commit2 years ago
KratosKratos

Your ultimate Go microservices framework for the cloud-native era.

Stars25,803
Forks4,168
Last commit22 days ago
grpc-gogrpc-go

The Go language implementation of gRPC. HTTP/2 based RPC

Stars23,013
Forks4,725
Last commit12 hours 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