dragonJSON is a JavaScript client library that turns a structured HTTP endpoint into a navigable object. Access deeply nested data with plain property traversal — dragonJSON handles fetching, caching, request batching, and real-time invalidation so your application code stays simple and declarative.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/michael-tiger-2010/dragonjson/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Get your first dragonJSON client running in under five minutes.
Installation
Import from source or add to your project.
API Reference
Complete reference for every client method and option.
Server Protocol
Build a compatible server in any language using the protocol spec.
How it works
dragonJSON wraps your API endpoint in a JavaScriptProxy. Every property access you write is intercepted — when you await the result, the client looks up the path in its local cache, fetches any missing segment from the server, and returns the value. Parent responses automatically populate the cache for their children, so repeated deep access is instant.
Key features
Lazy Loading
Fetch only the data you actually access, not the entire dataset.
Automatic Caching
Parent fetches populate children. Subsequent reads are instant.
Request Batching
Concurrent reads coalesce into a single HTTP round trip automatically.
Live Sync
Keep all clients in sync via WebSocket relay with zero extra boilerplate.
Mutations
add, and $remove with server-driven cache invalidation.
Event System
Subscribe to changes at any path with direct or bubbling listeners.
Import the client
Copy
client/web-client.js into your project or import it directly as an ES module.Initialize with your endpoint
Call
dragonJSON(url, options) and destructure the [server, control] tuple.