LLMpediaThe first transparent, open encyclopedia generated by LLMs

JSON-RPC

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Expansion Funnel Raw 119 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted119
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
JSON-RPC
NameJSON-RPC
ParadigmRemote procedure call
DeveloperDouglas Crockford et al.
Initial release2005
TypingDynamic
LicenseProtocol specification

JSON-RPC

JSON-RPC is a lightweight remote procedure call protocol that uses JavaScript-derived JSON for message encoding and is designed for simplicity and extensibility. It is used across diverse systems involving Mozilla, Microsoft, Google, Apple Inc., and Facebook in tools, libraries, and services, and plays a role alongside protocols like SOAP, gRPC, and XML-RPC. The protocol is employed in contexts ranging from web browsers influenced by Netscape and Brendan Eich to server ecosystems shaped by Linus Torvalds and Ken Thompson.

Overview

JSON-RPC defines a minimal set of data structures for requests, responses, and notifications that allow a client to invoke procedures on a remote server. Implementations appear in projects associated with Apache Software Foundation, Red Hat, Canonical (company), Ubuntu, and Debian, and are used in tooling from GitHub, GitLab, Atlassian, and Bitbucket. The protocol's simplicity has encouraged integration in environments influenced by Oracle Corporation, IBM, Intel, ARM Holdings, and NVIDIA.

Protocol Specification

The specification mandates message objects with members such as "jsonrpc", "method", "params", and "id" to represent version, procedure name, parameters, and correlation identifiers. Adoptors in industrial settings like Siemens, Bosch, General Electric, Honeywell International, and Schneider Electric often map these fields to internal APIs and message brokers such as RabbitMQ, Apache Kafka, ZeroMQ, ActiveMQ, and Redis. Tooling vendors including JetBrains, Eclipse Foundation, Oracle Corporation, SAP SE, and Salesforce provide integrations and extensions that adapt the base specification to enterprise workflows.

Data Types and Encoding

Messages are encoded in JSON types: objects, arrays, strings, numbers, booleans, and null. Language bindings exist for C, C++, C#, Java, JavaScript, Python, Ruby, PHP, Go (programming language), Rust (programming language), Swift (programming language), and Kotlin. Projects from Mozilla Foundation, W3C, IETF, ICANN, and Unicode Consortium inform character encoding and serialization practices used by libraries in ecosystems maintained by Google, Microsoft, Apple Inc., Samsung, and LG Corporation.

Transport Bindings

Transport is unspecified in the core spec, enabling use over HTTP, WebSocket, TCP/IP, UDP, Serial (communication), and message queue systems like AMQP. Deployments leverage infrastructure from cloud providers such as Amazon Web Services, Microsoft Azure, Google Cloud Platform, IBM Cloud, and Alibaba Cloud to route JSON-RPC messages alongside protocols implemented in NGINX, Apache HTTP Server, HAProxy, Envoy (software), and Traefik. Integration with Kubernetes, Docker, VMware, OpenStack, and Hyper-V facilitates containerized and virtualized service architectures.

Implementations and Libraries

Notable implementations exist in ecosystems maintained by Node.js Foundation, Python Software Foundation, Ruby on Rails, PHP Group, Eclipse Foundation, and language maintainers like Oracle Corporation for Java and Google for Go. Libraries from organizations such as JetBrains, HashiCorp, MongoDB, Inc., Redis Labs, and Elastic NV embed JSON-RPC client and server components. Community projects on platforms like GitHub, GitLab, SourceForge, Bitbucket, and Launchpad provide diverse adapters and tooling.

Security and Authentication

Because the core protocol lacks built-in authentication, common deployments use TLS/SSL provided by Let's Encrypt, DigiCert, Entrust, Comodo, and GlobalSign combined with authentication schemes from OAuth, OpenID Connect, SAML, Kerberos, and LDAP. Security analysis references work from MITRE, NIST, OWASP, ENISA, and CERT inform best practices for input validation, rate limiting, and secure serialization. Enterprise operators such as Cisco Systems, Palo Alto Networks, Fortinet, Check Point Software Technologies, and Juniper Networks apply network-level controls when exposing JSON-RPC endpoints.

History and Versioning

The protocol emerged in the mid-2000s alongside the rise of AJAX and AJAX-driven interfaces pioneered by companies like Google and Yahoo!. Early influencers include Douglas Crockford, whose advocacy for JSON shaped adoption across projects by Mozilla, Netscape, and Sun Microsystems. Subsequent versions and community drafts have been discussed in forums and repositories hosted by GitHub, IETF, W3C, Stack Overflow, and Reddit, with adoption in products from Microsoft, Apple Inc., Google, Amazon.com, and Facebook reflecting iterative evolution influenced by large technology vendors.

Category:Application layer protocols