Implementations

The following are projects implementing JSON:API. If you’d like your project listed, send a pull request.

Note: This specification marked 1.0 on May 29th, 2015. The implementations below have not been verified for compliance, but a test suite is now being assembled to vet them.

Client libraries

JavaScript

  • ember-data is one of the original exemplar implementations. There is now an official adapter to support json-api.
  • backbone-jsonapi is a Backbone adapter for JSON:API. Supports fetching Models & Collections from a JSON:API source.
  • backbone-relational-jsonapi is a parsing layer for Backbone.Relational. Entities specified in JSON:API are automatically parsed to be injected into Backbone.Relational relations.
  • orbit.js is a standalone library for coordinating access to data sources and keeping their contents synchronized. Orbit’s Common Library includes JSONAPISource for accessing JSON:API servers. Orbit can be used independently or with Ember.js through the ember-orbit integration library.
  • YAYSON is an isomorphic library for serializing and reading JSON:API data. Extend it to fit your models or just use it with plain objects.
  • Ember JSON API Resources is an Ember CLI Addon for a lightweight solution for data persistence in an Ember.js application.
  • hapi-json-api Plugin for the hapi framework; enforces Accept/Content-type rules and rewrites Boom errors to be spec compliant.
  • jsonapi-datastore is a lightweight standalone library for reading, serializing, and synchronizing relational JSON:API data.
  • superagent-jsonapify A really lightweight (50 lines) JSON-API client addon for superagent, the isomorphic ajax client.
  • angular-jsonapi An AngularJS JSON:API client
  • redux-json-api A library which integrated JSON:APIs with Redux store
  • devour-client A lightweight, framework agnostic, highly flexible JSON:API client
  • json-api-normalizer Normalizes JSON:API documents for state management solutions like Redux and Mobx
  • jsona Data formatter that creates customizable, simplified objects from JSON or stored reduxObject (result object of json-api-normalizer), and creates correct JSON from the same simplified objects.
  • active-resource A standalone, convention-driven JavaScript ORM that maps to your JSON:API server and allows for advanced queries and relational management through a smooth interface.
  • redux-bees A nice, short and declarative way to interact with JSON:APIs in React+Redux
  • Coloquent Javascript/Typescript library mapping objects and their interrelations to JSON:API, with a clean, fluent ActiveRecord-like (e.g. similar to Laravel’s Eloquent) syntax for creating, retrieving, updating and deleting model objects.
  • kitsu A simple, lightweight & framework agnostic JSON:API client
  • Sarala JSON API data formatter is a simple and fluent framework agnostic javascript library to transform standard JSON:API responses to simple JSON objects and vice versa.
  • Sarala is a javascript package which gives you a Laravel Eloquent like syntax to perform CRUD operations against an JSON:API built according to JSON:API specification.
  • jsonapi-client A convenient module to consume a jsonapi service
  • JSORM is an isomorphic ActiveRecord clone that issues JSON:API requests instead of SQL and is part of the larger JSONAPI Suite.
  • jsonapi-vuex A module for interacting with a jsonapi service using a Vuex store, restructuring/normalizing records to make life easier.
  • heather-js A library for parsing JSONAPI into objects from ES6 classes.
  • @hyral/core - An advanced, documented, easily extendable and lightweight (JSON:)API abstraction library with ORM-like CRUD support, automatic relationships handling and support for multiple (different) backends.
  • @hyral/vue - Vue(x) integration for @hyral/core for Store-module creation and mixins
  • jsonapi-redux-data - a library that makes integration of jsonapi with react + redux effortless and easy.
  • jsonapi-fractal JSON:API Serializer inspired by Fractal (PHP)
  • ts-japi - A zero-dependency, highly-modular, js/ts-friendly, recursible, framework-agnostic library for serializing data to the JSON:API specification. Serializes the entire specification.
  • mobx-async-store - A Mobx-based store for async data fetching and state management for the JSON:API specification.
  • spraypaint - JS Client for Graphiti similar to ActiveRecord. Written in Typescript but works in plain old ES5 as well. This library is isomorphic - use it from the browser, or from the server with NodeJS.
  • json-api-models - A lightweight layer for working with JSON:API data.

Typescript

  • ts-angular-jsonapi A JSON:API library developed for AngularJS in Typescript
  • ngrx-json-api A JSON:API client for Angular 2 ngrx toolset
  • ts-jsonapi JSON:API (De)Serializer in Typescript
  • ngx-jsonapi A JSON:API fast client library for Angular with storage+memory cache.
  • @crnk/angular-ngrx Angular helper library for ngrx-json-api and (optionally) crnk. Facilitates the binding of UI components to ngrx-json-api, most notably tables and forms.
  • Grivet A JSON:API client library written in TypeScript with emphasis on RESTful traversal of resources according to HATEOAS principles.
  • DatX is an opinionated data store for use with the MobX state management library that adds JSON:API support with datx-jsonapi mixin.
  • jsonapi-fractal JSON:API Serializer inspired by Fractal (PHP)
  • ts-japi - A zero-dependency, highly-modular, js/ts-friendly, recursible, framework-agnostic library for serializing data to the JSON:API specification. Serializes the entire specification.
  • drupal-jsonapi-params A library for building query parameters when connecting with Drupal CMS’s JSON:API.
  • EntityStore.TS - ORM like abstraction layer for TypeScript which includes extensible provider for accessing JSON:API servers.

iOS

  • jsonapi-ios is a library for loading data from a JSON:API datasource. Parses JSON:API data into models with support for auto-linking of resources and custom model classes.
  • Spine is a Swift library for working with JSON:API APIs. It supports mapping to custom model classes, fetching, advanced querying, linking and persisting.
  • Vox is a Swift JSON:API client framework with custom model classes support and nice networking interface.
  • Japx is lightweight JSON:API parser that flattens complex JSON:API structure and turns it into simple JSON and vice versa. It works by transferring Dictionary to Dictionary, so you can use Codable, Unbox, Wrap, ObjectMapper or any other object mapping tool that you prefer. It supports Objective-C as well.
  • mattpolzin / JSONAPI is a Swift Codable library with heavy emphasis on type-safety. It is platform agnostic so it can be used client- and server-side.
  • IzzyParser is a lightweight library for serializing and deserializing JSON:API objects.

Ruby

  • jsonapi-consumer a ruby library for consuming JSONAPI payloads.
  • JsonApiClient attempts to give you a query building framework that is easy to understand (similar to ActiveRecord scopes).
  • Munson is a ruby JSONAPI client that can act as an ORM or integrate with your models via fine-grained agnosticism. Easy to configure and customize. Includes a chainable/customizable query builder, attributes API and dirty tracking.
  • json-api-vanilla a reference-aware ruby library for JSONAPI deserialization that doesn’t require setting up classes.
  • SimpleJSONAPIClient gives you lower-level control for API operations, while your models and their relationships maintain a neat, ActiveRecord-inspired interface.
  • jsonapi-simple_client a client to interact with a Server API that implements the JSON:API spec.
  • jsonapi-record a client framework for interacting JSON:API Spec compliant APIs in Ruby.
  • jsonapi-unwrapper a simple and lightweight library to deserialize JSON:API payloads.

PHP

  • Art4 / json-api-client is a library for validating and handling the response body in a simple OOP way.
  • woohoolabs / yang is a PSR-7 compatible library that is able to build and send requests, and handle responses.
  • enm/json-api-client is an abstract client-side PHP implementation of the json:api specification which is based on enm/json-api-common. It allows you to send json:api requests via your own http client implementation or via a buzz or guzzle client.
  • floor9design-ltd/json-api-formatter An open source library designed to be used for generating and interacting with (making and receiving) JSON API requests. 100% unit tested and actively maintained by the author. Easy to use with frameworks such as Laravel/Symfony.
  • swisnl/json-api-client Is a package for mapping remote {json:api} resources to Eloquent like models and collections.

Dart

  • json_api is a full-fledged client for Flutter/Web/VM.
  • rest_data is a REST API client based on ember-data concepts which includes a JSON:API adapter.
  • jsonapi_client is a simple JSON:API v1.0 client written in Dart.
  • japx is a lightweight JSON:API parser that flattens complex JSON:API structure and turns it into simple JSON and vice versa

Perl

Java

  • jsonapi-converter is a Java JSON:API v1.0 client. Besides providing means for serialisation/deserialisation, client comes with Retrofit plugin.
  • crnk.io is a JSON:API framework for clients and servers. On the client-side it targets both Java and Android development. As for the backend side a rich set of modules helps with the integration of various Java frameworks.
  • jsonapi Library for streamlined use of JSON:API using Kotlin and Java built on top of Moshi from Square. It is built with a powerful api and supports JVM (Java/Kotlin) and Android. Supporting deserialization and serialization it is meant to be used on both client and server side.

Android

  • faogustavo/JSONApi library for deserializing automatic. It can be integrated with retrofit. It has some ideas from Morpheus and jsonapi-converter but has some aditionals.
  • moshi-jsonapi serialize/deserialize JSON:API v1.0 using fantistic Moshi API! With friendly Java interface and easy integration with Retrofit.
  • Morpheus library for deserializing your resources with automatic mapping for relationships. Uses gson to map objects in attributes.
  • Izzy JSONAPI parser library for deserializing and serializing resources with support both for Gson and Jackson parsers. It also has simple Retrofit integration.
  • JsonApiX annotation processor library for serializing and deserializing Kotlin classes. It’s easy to use - setup only requires annotating classes. Retrofit integration is included.

R

  • rjsonapi is an R client to consume JSONAPI’s.

Elm

  • elm-jsonapi provides decoders and helper functions for clients receiving JSON:API payloads.
  • elm-jsonapi-http wraps elm-jsonapi and handles the details of content negotiation with JSON:API-compliant servers, providing a smoother interface for consumers.

.NET

  • Hypermedia.JsonApi.Client is a set of extension methods to the HttpClient which allow for reading and writing of JSON:API documents.
  • JsonApiSerializer is a configurationless JSON:API serialization and deserialization library implemented as a Json.NET JsonSerializerSetting. It leverages the existing power and flexibility of Json.NET while providing a sensible default mapping between JSON:API and CLR objects.
  • JsonApiFramework.Client is a portable .NET Standard/Core client-side framework where developers define the domain model of the resources of a hypermedia API server either through configuration and/or conventions called a service model. With a service model developers can use a document context that represents a session with a JSON:API compound document for reading or writing of various JSON:API abstractions such as resources, resource identifiers, relationships, links, meta information, error objects, and version information all serialized/deserialized as high level CLR objects.
  • FSharp.JsonApi is a library that allows you to use F# to easily create and consume flexible, strongly typed web APIs following the JSON:API specification.
  • jsonapi-consumer is a simple client-side .NET Standard wrapper framework for consuming JSON:API based APIs.

Python

  • jsonapi-requests Simple and fun high-level JSONAPI client for Python. Contains ORM which makes consuming the API even easier, in a DRY manner. It has a low-level API similar to requests as well, which gives you all the flexibility that you may need.
  • jsonapi-client Comprehensive yet easy-to-use, pythonic, ORM-like access to JSON:API services
  • json-api-doc JSON:API parser returning a simple Python dictionary
  • json-api-smart JSON:API with an ORM interface

Elixir

Server libraries

Swift

  • aonawale / JSONAPISerializer is a server side swift framework agnostic library that implements JSON:API v1.0.
  • mattpolzin / JSONAPI is a Swift Codable library with heavy emphasis on type-safety. It is platform agnostic so it can be used client- and server-side.

PHP

  • tobyz / json-api-server is a framework-agnostic declarative JSON:API server implementation.
  • neomerx / json-api is a framework agnostic library that fully implements JSON:API v1.0.
  • limoncello-php / app is a JSON:API v1.0 quick start server application for neomerx / json-api.
  • lode / jsonapi is a human-friendly library to implement JSON:API v1.1 without needing to know the specification.
  • woohoolabs / yin is a library for advanced users aiming for efficiency and elegance.
  • nilportugues / json-api Serializer transformers outputting valid API responses in JSON and JSON:API formats.
  • nilportugues / symfony2-jsonapi-transformer Symfony 2 JSON:API Transformer Bundle outputting valid API responses in JSON and JSON:API formats.
  • nilportugues / laravel5-jsonapi-transformer Laravel 5 JSON:API Transformer Package outputting valid API responses in JSON and JSON:API formats.
  • tuyakhov / yii2-json-api Implementation of JSON:API specification for the Yii framework.
  • json-api-php/json-api An attempt to translate the JSON:API specification into a set of high quality unit/functional tests and implement it in PHP 7 strictly following TDD and SOLID OOP principles.
  • laravel-json-api/laravel Laravel implementation of the JSON:API specification, with full feature support and extensive documentation.
  • FriendsOfCake/crud-json-api CakePHP Crud Listener for building maintainable JSON:API compliant APIs.
  • thephpleague/fractal A partial implementation of the JSON:API spec allowing for an easy drop in JSON rendering solution.
  • oligus/jad A library that turns doctrine entities into json:api resource, or collection of resources, automagically.
  • enm/json-api-server is an abstract server-side PHP (>= 7.2) implementation of the json:api specification, based on enm/json-api-common. It handles json:api requests via request handlers through a centralized handle-method. It can be used with psr-7-request/response or your own request and response logic.
  • enm/json-api-server-bundle is a symfony bundle which integrates enm/json-api-server into your symfony application (symfony version ^4.0).
  • raml-json-api RAML based JSON:API code generator for Laravel. Generates controllers, middlewares, models, routes, migrations and serves JSON:API.
  • paknahad/jsonapi-bundle is a Symfony bundle. It is the fastest way to generate API.
  • swisnl/json-api-server is a Laravel package to get a JSON:API up and running in minutes.
  • hackerboy/json-api is a lightweight library that helps you to implement JSONAPI easily
  • drupal The Drupal CMS supports exposing all data it manages (entities) according to the JSON:API specification. jsonapi_extras is an optional extra module to change resource type names, field names and more.
  • bednic/json-api Annotation driven library for creating valid JSON API response document from your objects.
  • pz/doctrine-rest library provides basic tools for implementation of JSON:API with Doctrine 2
  • pz/jsonapi-resource Serialize PHP class object into JSON:API resource object using PHP 8.0 Attributes.
  • binarcode/laravel-restify The fastest way to make a powerful JSON:API compatible Rest API with Laravel Reference Docs.
  • API Platform is an API-first Framework supporting JSON:API.

Node.js

  • Fortune.js is a library that includes a comprehensive implementation of JSON:API.
  • json-api turns an Express + Mongoose app into a JSON-API server.
  • endpoints is an implementation of JSON:API using Bookshelf.
  • YAYSON is an isomorphic library for serializing and reading JSON:API data. Simply use it with plain objects or extend it to fit your ORM (currently it has an adapter for Sequelize).
  • jsonapi-serializer is a Node.js framework agnostic library for serializing your data to JSON:API.
  • jsonapi-server A feature-rich config-driven json:api framework.
  • jagql A resource driven framework to set up a {json:api} + GraphQL endpoint in record time.
  • loopback-component-jsonapi JSON:API support for loopback highly-extensible, open-source Node.js framework
  • loopback-jsonapi-model-serializer JSON:API serializer for loopback models.
  • jsonapi-mapper JSON:API-Compliant Serialization for your Node ORM.
  • jaysonapi jaysonapi is a framework agnostic JSON:API v1.0.0 serializer. jaysonapi provides more of a functional approach to serializing your data. Define a serializer with a type and schema, and call serialize on it passing in the data, included, meta, errors, etc. as a plain object.
  • json-api-ify serialize the ** out of your data. json:api v1.0 complaint.
  • bookshelf-jsonapi-params automatically apply JSON:API filtering, pagination, sparse fieldsets, includes, and sorting to your Bookshelf.js queries.
  • Lux is a MVC style Node.js framework for building lightning fast JSON:APIs.
  • transformalizer a bare bones node module for transforming raw data into JSON:API compliant payloads that makes no assumption regarding the shape of your data and sdks used, supports the full v1.0 specification, and supports dynamic transformations, links, and meta at all levels of a document.
  • jsonapi-mock A json-server inspired jsonapi mock server. Setup a jsonapi mock server in almost no time, uses lowdb.
  • DenaliJS A layered-conventions framework for building ambitious APIs. Includes a powerful addon system, best-in-class developer experience, and extensive documentation.
  • jsonapi-fractal JSON:API Serializer inspired by Fractal (PHP)
  • ts-japi - A zero-dependency, highly-modular, js/ts-friendly, recursible, framework-agnostic library for serializing data to the JSON:API specification. Serializes the entire specification.
  • Kurier is a TypeScript framework to create APIs following the 1.1 Spec of JSON:API + the Operations proposal spec.
  • nestjs-json-api A module for NestJS and TypeORM to implement JSON API supporting features such as, end point, query params, body params, validation and transformation response.

Ruby

  • Plain Ruby
    • Yaks Library for building hypermedia APIs, contains a JSON:API output format.
    • JSONAPI::Serializers provides a pure Ruby, readonly serializer implementation.
    • JSONAPI::Realizer provides a pure Ruby pattern for turning JSON:API requests into models (has active record support and rails instructions)
    • Roar Renders and parses represenations of Ruby objects
    • Jbuilder::JsonAPI Simple & lightweight extension for Jbuilder
    • jsonapi-rb Ruby library for efficiently building and consuming JSON:API documents - with Rails and Hanami integrations.
    • fast_jsonapi A lightning fast JSON:API serializer for Ruby Objects.
    • jsonapi_parameters Rails-way to consume JSON:API input.
  • Ruby on Rails
    • Jsonapi-for-rails empowers your JSONAPI compliant Rails APIs. Implement your APIs with very little coding.
    • ActiveModel::Serializers is one of the original exemplar implementations, but is slightly out of date at the moment.
    • JSONAPI::Resources provides a complete framework for developing a JSON:API server. It is designed to work with Rails, and provides routes, controllers, and serializers.
    • JSONAPI::Utils works on top of JSONAPI::Resources taking advantage of its resource-driven style and bringing a Rails way to build modern APIs with no or less learning curve.
    • Caprese An opinionated Rails library for creating JSON:API servers that lets you focus on customizing the behavior of your endpoints rather than the dirty work of setting them up. Leverages the power of ActiveModel::Serializer.
    • JSONAPI Suite facilitates a server capable of deep querying and nested writes. Works with any ORM or datastore; comes with integration test helpers and automatic swagger documentation.
    • JSONAPI.rb A set of pluggable mixins providing support for serialization (using fast_jsonapi), error handling, includes, sparse fields, pagination, filtering (using ransack) and sorting. Strives to implement as much of the JSONAPI spec as possible. Small codebase (~500 sloc), good documentation and test coverage.
    • Graphiti a ruby library for RESTful Resources based on JSON:API. Works with vanilla Ruby, Sinatra and Rails.
  • Sinatra
    • Sinja extends Sinatra and leverages JSONAPI::Serializers to enable rapid development of comprehensive, read-and-write, and JSON:API v1.0-compliant web services using the DAL/ORM of your choice. It includes a simple role-based authorization scheme, support for client-generated IDs, patchless clients, and coalesced find requests, exception handling, and more.

Python

  • Hyp is a library for creating json-api responses.
  • SQLAlchemy-JSONAPI provides JSON:API serialization for SQLAlchemy models.
  • django-rest-framework-json-api provides JSON:API parsing and rendering for the Django REST Framework
  • jsoongia is a framework agnostic JSON:API implementation.
  • ripozo provides a framework for serving JSON:API content (among other Hypermedia formats) in Flask, Django and more.
  • marshmallow-jsonapi provides JSON:API data formatting for any Python web framework.
  • neoapi serializes JSON:API–compliant responses from neomodel StructuredNodes for Neo4j data
  • xamoom-janus is a Python module to easily and fast extend Python web frameworks like Flask or BottlyPy with json:api functionality. Also offers a flexible mechanism for data mapping and hooks to intercept and extend its functionality according to your projects needs.
  • pyramid-jsonapi Auto-build a JSON:API from sqlalchemy models using the pyramid framework.
  • Flask-REST-JSONAPI Flask extension to create web api according to jsonapi specification with Flask, Marshmallow and data provider of your choice (SQLAlchemy, MongoDB, …)
  • Flump Database agnostic JSON:API builder which depends on Flask and Marshmallow.
  • SAFRS JSON API Framework Flask-SQLAlchemy jsonapi implementation with auto-generated openapi (fka swagger) interface.
  • pydantic-jsonapi JSON:api validation with python type hinting using pydantic
  • Flask-Restless-NG Builds JSON:API from SQLAlchemy models using Flask
  • starlette-jsonapi Microframework on top of Starlette and marshmallow-jsonapi with support for asynchronous ORMs
  • kt.jsonapi JSON:API response generation using the Zope Component Architecture.
  • Flask-COMBO-JSONAPI JSON:API flask extension for building REST APIs.
  • FastAPI-JSONAPI FastAPI-JSONAPI is a FastAPI extension for building REST APIs

Go

  • api2go is a full-fledged library to make it simple to provide a JSON:API with your Golang project.
  • jsonapi serializes and deserializes jsonapi formatted payloads using struct tags to annotate the structs that you already have in your Golang project. Godoc
  • go-json-spec-handler drop-in library for handling requests and sending responses in an existing API.
  • jsh-api deals with the dirty work of building JSON:API resource endpoints. Built on top of jsh
  • mfcochauxlaberge/jsonapi offers a large set of tools to build a JSON:API compliant service.
  • pieoneers/jsonapi-go lightweight JSON API implementation in Go. Make your client and server applications JSON API-enabled in hours not months.

.NET

  • JsonApiDotNetCore is a framework for building json:api compliant REST APIs using .NET Core and Entity Framework Core. It eliminates as much boilerplate as possible by offering out-of-the-box features such as sorting, filtering and pagination. You just need to focus on defining the resources and implementing your custom business logic.
  • JsonApiNet lets you quickly deserialize JSON:API documents into C# entities. Supports compound documents, complex type mapping from attributes, attribute mapping, and more. See the README for full details.
  • NJsonApi is a .NET server implementation of the standard. It aims at good extensibility and performance while maintaining developer-friendliness with interchangeable conventions and builder-style configuration.
  • Migrap.AspNetCore.Hateoas HATEOAS (Hypermedia as the Engine of Application State) framework for ASP.NET Core. Current implementation(s): Siren, JsonApi.
  • Saule is a small JSON:API 1.0 compatible library that integrates well with established Web API conventions. It has complete documentation and near 100% test coverage.
  • Hypermedia.JsonApi.WebApi is a Web API media type formatter for reading and writing JSON:API. It supports an external resource model definition and natively includes related resources.
  • JsonApiSerializer is a configurationless JSON:API serialization and deserialization library implemented as a Json.NET JsonSerializerSetting. It leverages the existing power and flexibility of Json.NET while providing a sensible default mapping between JSON:API and CLR objects.
  • JsonApiFramework.Server is a portable .NET Standard/Core server-side framework where developers define the domain model of the resources of a hypermedia API server either through configuration and/or conventions called a service model. With a service model developers can use a document context that represents a session with a JSON:API compound document for reading or writing of various JSON:API abstractions such as resources, resource identifiers, relationships, links, meta information, error objects, and version information all serialized/deserialized as high level CLR objects with automatic generation of JSON:API hypermedia.
  • FSharp.JsonApi is a library that allows you to use F# to easily create and consume flexible, strongly typed web APIs following the JSON:API specification.
  • Felicity is a boilerplate-free JSON:API framework for your functional F# domain model, optimized for developer happiness

Java

  • crnk.io is a JSON:API framework for clients and servers. It was started as a fork for Katharsis after the later lost development momentum. It has similar concepts but with active development support. On the server-side it comes, among others, with a rich set of integrations (Servlet, JAX-RS, Spring, JPA, Bean Validation, Zipkin and more), bulk updates with JSON Patch, a meta-model for automation purposes, client stub generation for TypeScript and a module API for third-party contributions.
  • Elide is a web framework supporting JSON:API. Through annotation-based JSON:API endpoint generation, Elide enables you to focus on your data model, security model, and business logic while avoiding unnecessary boilerplate. Moreover, through use of the JSON:API Patch extension, Elide provides full support for database transactions.
  • JSON:API for Spring HATEOAS provides serialization/deserialization of the Spring HATEOAS representation models. The project also provides a builder to easily create relationships, included resource objects, pagination, and more.
  • jsonapi-rvp utilizes the platform capabilities available in the Jakarta EE environment (formerly Java EE) to expose JPA entities via JSON:API. Features include query and entity validation (using Bean Validators), pagination, use of surrogate keys as record identifiers, support for LEFT outer join conditions, and a simple JavaScript client.
  • JSON:API object converter converts normal Java objects to JSON:API standard with the use of annotations in the viewmodels (dtos).
  • Dashjoin Low Code Development Platform connects to relational, document, and graph databases and makes them available via JSON:API. The platform offers powerful access control mechanisms, a query editor, and graphical layout designers.

Scala

  • scala-jsonapi A Scala library for producing JSON output (and deserializing JSON input) based on JSON:API specification.

Elixir

  • ja_serializer is a behaviour and DSL to emit conforming JSON. Suitable for use in a Phoenix view or in a Plug stack.
  • jsonapi is a serializer and query parser built with plain old functions. Can parse and validate a JSONAPI compliant query and serialize Ecto Models or Elixir Structs into conforming JSON. Suitable for use in a Phoenix view, Plug Stack or anywhere you can call functions.

Haskell

  • json-api functions and datatypes for representing user-defined resources in accordance with the JSON-API specification.

Perl

  • PONAPI::Server is a Plack-based web server, providing a generic service adhering to the spec. just plug your data-repository & play.

Vala

Rust

  • jsonapi-rust A Rust library for serializing, deserializing and working with JSON-API data

Dart

Crystal

Examples

Playground

  • json-api-document-viewer the flat json:api structure is a good way to express complex relationships between objects. However the same flatness makes it difficult for humans to “parse” these relationships. This tool visualises object relationships by visually nesting them.
  • jsonapi-validator is a playground service for quick prototyping and validating JSON responses with jsonapi.org specification.
  • corroborate JSON:API request/response payload validator. It warns when there is a specification violation and also informs when a recommendation has not been followed.
  • JSON API Playground Fake online JSON:API server for testing and prototyping. It’s great for tutorials, faking a server, sharing code examples, etc.

Ruby

  • json-patch implementation of JSON Patch (rfc6902)
  • hana implementation of the JSON Patch and JSON pointer spec

JavaScript

  • json-api-merge JSON:API specific redundant duplication algorithm for merging included resources into original data
  • json-patch implementation of JSON Patch (rfc6902)

Python