StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Languages
  4. Rubygems Packages
  5. edn vs json

edn vs json

OverviewComparisonAlternatives

Overview

json
json
Stacks648
Followers13
Votes0
GitHub Stars652
Forks329
edn
edn
Stacks0
Followers0
Votes0
GitHub Stars119
Forks28

edn vs json: What are the differences?

  1. Data Types: Edn supports a wider range of data types compared to JSON, including sets, symbols, and UUIDs. JSON is limited to basic data types such as strings, numbers, booleans, arrays, and objects.

  2. Human Readability: Edn is designed to be more human-readable and writable compared to JSON. It uses symbols and keywords for maps, which makes the data structure more intuitive for developers to understand and work with.

  3. Self-Reference: Edn allows for self-referential structures, where a data structure can refer to itself or contain circular references, which JSON does not support directly. This feature can be beneficial in certain scenarios where recursive data structures are needed.

  4. Metadata: Edn allows for metadata to be attached to data elements, providing additional information without affecting the actual data. This metadata can include descriptive information, authorship details, or any other relevant context, enhancing the flexibility of the data representation.

  5. Extensibility: Edn is more extensible than JSON, as it allows for custom data types and interpreters to be defined by users. This flexibility enables developers to tailor the data format to specific application needs, making Edn a versatile choice for diverse use cases.

  6. Comments: Edn supports comments within the data structure, allowing developers to add explanatory notes or annotations directly in the data representation. In contrast, JSON does not have a native support for comments, making Edn a more expressive format for documenting data.

In Summary, the key differences between Edn and JSON lie in their support for a wider range of data types, human readability, self-reference, metadata handling, extensibility, and comments within the data structure.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Detailed Comparison

json
json
edn
edn

This is a JSON implementation as a Ruby extension in C.

'edn implements a reader for Extensible Data Notation by Rich Hickey.'.

Statistics
GitHub Stars
652
GitHub Stars
119
GitHub Forks
329
GitHub Forks
28
Stacks
648
Stacks
0
Followers
13
Followers
0
Votes
0
Votes
0

What are some alternatives to json, edn?

rake

rake

Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax. Rake has the following features: * Rakefiles (rake's version of Makefiles) are completely defined in standard Ruby syntax. No XML files to edit. No quirky Makefile syntax to worry about (is that a tab or a space?) * Users can specify tasks with prerequisites. * Rake supports rule patterns to synthesize implicit tasks. * Flexible FileLists that act like arrays but know about manipulating file names and paths. * Supports parallel execution of tasks.

pry

pry

An IRB alternative and runtime developer console.

rspec

rspec

BDD for Ruby.

rails

rails

Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.

simplecov

simplecov

Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage across test suites.

puma

puma

Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications. Puma is intended for use in both development and production environments. It's great for highly concurrent Ruby implementations such as Rubinius and JRuby as well as as providing process worker support to support CRuby well.

pg

pg

Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/]. It works with {PostgreSQL 9.2 and later}[http://www.postgresql.org/support/versioning/]. A small example usage: #!/usr/bin/env ruby require 'pg' # Output a table of current connections to the DB conn = PG.connect( dbname: 'sales' ) conn.exec( "SELECT * FROM pg_stat_activity" ) do |result| puts " PID | User | Query" result.each do |row| puts " %7d | %-16s | %s " % row.values_at('procpid', 'usename', 'current_query') end end.

rspec-rails

rspec-rails

Rspec-rails is a testing framework for Rails 3+.

rubocop

rubocop

Automatic Ruby code style checking tool. Aims to enforce the community-driven Ruby Style Guide.

byebug

byebug

Byebug is a Ruby debugger. It's implemented using the TracePoint C API for execution control and the Debug Inspector C API for call stack navigation. The core component provides support that front-ends can build on. It provides breakpoint handling and bindings for stack frames among other things and it comes with an easy to use command line interface.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase