Bringing the Unix Philosophy to the 21st Century: Make JSON a default output option.

This page summarizes the projects mentioned and recommended in the original post on /r/programming

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • nushell

    A new type of shell

  • You can achieve the goals of Unix philosophy without being line-oriented - lines are just a means to a goal and we shouldn't hold on to them too dearly if/when something better comes along. I don't think JSON as an output option is the answer but there have been some interesting experiments about making shells more useful in a modern environment by using structured data in place of plaintext, most notably nushell. I think something like that is definitely the way forward, even if it means that all the basic command line tools will need at least partial rewrites.

  • json5

    JSON5 — JSON for Humans

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • libxo

    The libxo library allows an application to generate text, XML, JSON, and HTML output using a common set of function calls. The application decides at run time which output style should be produced.

  • libxo allows switching the output format (plaintext, JSON, XML, HTML)

  • ndjson.github.io

    Info Website for NDJSON

  • you can use ndjson, where valid JSON objects are streamed with newline delimiters. Technically, you could also stream an Array of Objects by starting a stream with [ and using comma separators, but that would make piping to e.g. jq much harder

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts