Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. json

json

BSD-3-ClauseElixirv1.4.0

A natively implemented JSON encoder and decoder library for the Elixir programming language.

Visit WebsiteGitHubGitHub
218 stars40 forks0 contributors

What is json?

Elixir JSON is a native JSON library for the Elixir programming language that provides encoding and decoding functions. It solves the problem of converting between Elixir data types and JSON format, which is crucial for building web APIs, handling configuration, or communicating with external services. The library is implemented directly in Elixir, offering good performance and seamless integration with Elixir projects.

Target Audience

Elixir developers who need to work with JSON data in their applications, such as when building RESTful APIs, processing JSON-based configurations, or integrating with third-party JSON APIs.

Value Proposition

Developers choose Elixir JSON for its native Elixir implementation, which ensures compatibility and performance within the Elixir ecosystem, along with its simple API for encoding and decoding JSON without external dependencies.

Overview

Native JSON library for Elixir

Use Cases

Best For

  • Encoding Elixir data structures like lists and maps into JSON strings
  • Decoding JSON strings from external APIs into Elixir maps
  • Building JSON-based web APIs in Elixir frameworks like Phoenix
  • Serializing configuration data in JSON format for Elixir applications
  • Handling JSON payloads in Elixir-based microservices
  • Debugging JSON processing with configurable library-specific logging

Not Ideal For

  • High-performance applications requiring NIF-based JSON parsing optimizations
  • Projects needing JSON Schema validation or advanced custom encoding/decoding rules
  • Teams already integrated with ecosystems using more feature-rich libraries like Jason

Pros & Cons

Pros

Native Elixir Integration

Built directly in Elixir, ensuring seamless compatibility with Elixir projects and good performance without external dependencies, as emphasized in the README's native implementation focus.

Simple API Design

Offers straightforward functions like `JSON.encode/1` and `JSON.decode/1` for easy JSON handling, making it accessible for common tasks such as encoding lists or decoding strings.

Configurable Debugging Support

Allows verbose logging specific to the library via application configuration, aiding in debugging JSON processing issues, as detailed in the README's logging setup example.

Cons

Limited Advanced Features

Lacks support for streaming JSON parsing, schema validation, or custom encoders/decoders, which are available in more comprehensive libraries like Jason, limiting its use for complex scenarios.

Tuple-Based Error Handling

Returns results as tuples with status (e.g., {:ok, result}), which might be less idiomatic for some Elixir patterns compared to using exceptions or monadic approaches, potentially increasing boilerplate code.

Basic Performance Profile

As a pure Elixir implementation, it may not match the speed of NIF-based alternatives for high-throughput applications, though the README does not claim superior performance, making it less ideal for demanding use cases.

Frequently Asked Questions

Quick Stats

Stars218
Forks40
Contributors0
Open Issues0
Last commit5 years ago
CreatedSince 2013

Tags

#hex#json-encoder#elixir#native#erlang-vm#data-interchange#decoding#serialization#json-decoder#encoding#json#hex-package#json-parser

Built With

E
Elixir

Links & Resources

Website

Included in

Elixir13.1k
Auto-fetched 7 hours ago

Related Projects

poisonpoison

An incredibly fast, pure Elixir JSON library

Stars2,032
Forks214
Last commit2 years ago
jasonjason

A blazing fast JSON parser and generator in pure Elixir.

Stars1,680
Forks178
Last commit4 months ago
jokenjoken

Elixir JWT library

Stars815
Forks105
Last commit10 days ago
jsxjsx

an erlang application for consuming, producing and manipulating json. inspired by yajl

Stars696
Forks215
Last commit2 years 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