Jc – JSONifies the output of many CLI tools

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. gron

    Make JSON greppable!

    Some alternative ideas for making JSON more readable:

    - Pipe into gron (https://github.com/tomnomnom/gron) to get a `foo.bar.baz = val` kind of syntax.

    - Pipe into visidata (https://www.visidata.org/) to get a spreadsheet-like editable view.

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. jc

    CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.

    This is one of many inherent issues with using unstructured text as an API. That's why I believe there should be a JSON (or at least some other widely used format[1]) option for tools that have output that would be useful in scripts.

    [0] https://github.com/kellyjonbrazil/jc#locale

    [1] formats should have good library support across many languages and nice filter/query capabilities from the command-line

  4. rq

    Record Query - A tool for doing record analysis and transformation (by dflemstr)

  5. dasel

    Unified querying, transformation, and modification of JSON, TOML, YAML, XML, INI, HCL, KDL and CSV.

  6. spyql

    Query data on the command line with SQL-like SELECTs powered by Python expressions

    This is great!

    I am the author of SPyQL [1]. Combining JC with SPyQL you can easily query the json output and run python commands on top of it from the command-line :-) You can do aggregations and so forth in a much simpler and intuitive way than with jq.

    I just wrote a blogpost [2] that illustrates it. It is more focused on CSV, but the commands would be the same if you were working with JSON.

    [1] https://github.com/dcmoura/spyql

  7. autojump

    A cd command that learns - easily navigate directories from the command line

    There's a clash of names between this jc and autojump (https://github.com/wting/autojump) jc (jump to child)

  8. 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.

    Can you trust it? Cli tool output is not exactly stable. I thought that's why libxo exists?

    https://github.com/Juniper/libxo

  9. cosmopolitan

    build-once run-anywhere c library

    But python is also universal? You can just bundle jc inside https://github.com/jart/cosmopolitan/tree/master/third_party... and it's as universal as it gets.

  10. specifications

    Specifications related to Jevko. (by jevko)

    A plain Jevko parser simply turns your unicode sequence into a tree which has its fragments as leaves/labels.

    No data types on that level, much like in XML.

    Now above that level there is several ways to differentiate between them.

    The simplest pragmatic way is a kind of type inference: if a text parses as a number, it's a number, if it's "true" or "false", it's a boolean. Otherwise it's a string. If you know the implicit schema of your data then this will be sufficient to get the job done.

    Otherwise you employ a separate schema -- JC in particular has per-parser schemas anyway, so that's covered in this case.

    Or you do "syntax-driven" data types, similar to JSON, e.g. strings start w/ "'".

    Here is a shitty demo: https://jevko.github.io/interjevko.bundle.html

    It shows schema inference from JSON and the schemaless (syntax-driven) flavor.

    Jevko itself is stable and formally specified: https://github.com/jevko/specifications/blob/master/spec-sta...

    It's very easy to write a parser in any language (I've written one in several) and from there start using it.

    However, I am still very much working on specifications for formats above Jevko. I have some recent implementations of the simplest possible format which converts Jevko to arrays/objects/strings:

    * https://github.com/jevko/easyjevko.lua

  11. easyjevko.js

    A JavaScript library for Easy Jevko -- a simple data format built on Jevko.

  12. interjevko.js

    Experimental Schema-based Minimal Data Interchange with Jevko.

  13. jevkoschema.js

    Jevko schema

  14. awesome-jsonschema

    A curated list of awesome JSON Schema resources, tutorials, tools, and more

    You can also run `jc -h --dig` to get the parser details that include the schema.

    Having true JSON Schema[0] is being considered, but on the back-burner due to the sheer number of parsers to build schemas for. Also, it is more difficult to accurately define the schema for a small subset of parsers since their command output are so variable.

    [0] https://json-schema.org/

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

  • jq help: is it possible to replace a key-value in one json file using the data from another json file?

    2 projects | /r/commandline | 30 Sep 2022
  • Autograder - Finish-Up-A-Thon

    3 projects | dev.to | 27 May 2026
  • Datasette: An open source multi-tool for exploring and publishing data

    1 project | news.ycombinator.com | 27 May 2026
  • BadHost – CVE-2026-48710 Starlette Host-Header Auth Bypass

    1 project | news.ycombinator.com | 27 May 2026
  • Amazon SageMaker AI : SageMaker Studio, vLLM, Gemma 4 and Terraform for Receipt Extraction

    2 projects | dev.to | 18 May 2026