JSONPath VS jq

Compare JSONPath vs jq and see what are their differences.

JSONPath

A fork of JSONPath from http://goessner.net/articles/JsonPath/ (by JSONPath-Plus)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
JSONPath jq
1 55
927 29,146
1.5% 1.2%
6.7 9.3
9 days ago 8 days ago
JavaScript C
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

JSONPath

Posts with mentions or reviews of JSONPath. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-06.
  • jq 1.7 Released
    33 projects | news.ycombinator.com | 6 Sep 2023
    Another great alternative is JSONPath[1] which unfortunately not as widely supported and known despite being brilliant!

    It's inspired by XPath so it's very familiar instead of a complete new DSL. The killer feature imo is the recursive key lookup so you can write `people..address` and it'll find all "address" keys that descend from "people" anywhere in the JSON. It's by far my favorite parsing language for JSON and I wrote an introduction blog on how to use it in JSON dataset parsing [2] :)

    1 - https://github.com/JSONPath-Plus/JSONPath

    2 - https://scrapfly.io/blog/parse-json-jsonpath-python/

jq

Posts with mentions or reviews of jq. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-06.
  • Data Science at the Command Line, 2nd Edition (2021)
    5 projects | news.ycombinator.com | 6 May 2024
    Thanks, if anyone else is interested there is an explanation of this feature here: https://subtxt.in/library-data/2016/03/28/json_stream_jq And: https://github.com/jqlang/jq/wiki/FAQ#streaming-json-parser

    The last time I tried, I think the reason I gave up on JQ for large inputs was that the throughput would max out at 7mb/s whereas the same thing with spark SQL on the same hardware (MacBook) would max out at 250mb/s. So I started looking into using other solutions for big data while I use jq in parallel for small data in multiple files.

    I will test it out again cause this was 4-5 years ago when I last tested it, but I believe jaq is still preferred for large inputs. Still I prefer for big data to use Spark/Polars/clickhouse etc.

  • Bytecode VMs in Surprising Places
    9 projects | news.ycombinator.com | 30 Apr 2024
    Looks like you are correct https://github.com/jqlang/jq/blob/ed8f7154f4e3e0a8b01e6778de...
  • Frawk: An efficient Awk-like programming language. (2021)
    4 projects | news.ycombinator.com | 21 Apr 2024
  • Dehydrated: Letsencrypt/acme client implemented as a shell-script
    11 projects | news.ycombinator.com | 19 Apr 2024
  • I turned my open-source project into a full-time business
    6 projects | news.ycombinator.com | 27 Feb 2024
    I think like you. But also, one does not necessarily know beforehand that they will want to make money.

    Like a project could be born out of pure generosity, but after the happy initial phase the project might get too heavy on the maintenance requirements, causing the author to approach burnout, and possibly deciding that they want to make money to continue pulling the cart forward.

    However, here's something I do think: if you create something as Open Source, it should be out of a mentality of goodwill and for the greater good, regardless of how it ends up being used. OSS licenses do mean this with their terms. If you later get tired or burned out, you should just retire and allow the community to keep taking care of it. Just like it happened with the Jq tool [1].

    [1]: https://github.com/jqlang/jq/releases/tag/jq-1.7

  • How to load JSON data in PostgreSQL with the the COPY command
    1 project | dev.to | 2 Feb 2024
    In this blog we'll see how to upload the JSON directly using PostgreSQL COPY command and using an utility called jq!
  • How to Recover Locally Deleted Files From Github
    1 project | dev.to | 31 Jan 2024
    And we can then make it easier to find the commit by filtering the response with jq.
  • Essential Command Line Tools for Developers
    29 projects | dev.to | 15 Jan 2024
    Official Documentation: jqlang.github.io/jq
  • Command line tools I always install on Ubuntu servers
    4 projects | dev.to | 25 Dec 2023
    To handle JSON files and JSON outputs in a script or format and highlight it, jq can be very handy. Many command line tools provide a json output, so you don't have to write a custom parser for a table a list in a terminal. Instead of that, you can use jq to get a specific value from the output or even modify the output. For more information, you can visit https://jqlang.github.io/jq/
  • How I use Nix in my Elm projects
    8 projects | dev.to | 19 Dec 2023
    In some projects I've wanted to use HTTPie to test APIs and jq to work with some JSON data. Nix has been really helpful in managing those dependencies that I can't easily get from npm.

What are some alternatives?

When comparing JSONPath and jq you can also consider the following projects:

gojq - Pure Go implementation of jq

yq - Command-line YAML, XML, TOML processor - jq wrapper for YAML/XML/TOML documents

jet - CLI to transform between JSON, EDN, YAML and Transit using Clojure

jp - Validate and transform JSON with Bash

fq - jq for binary formats - tool, language and decoders for working with binary and text formats

visidata - A terminal spreadsheet multitool for discovering and arranging data

Jolt - JSON to JSON transformation library written in Java.

yamlpath - YAML/JSON/EYAML/Compatible get/set/merge/validate/scan/convert/diff processors using powerful, intuitive, command-line friendly syntax.

dasel - Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package.

rsl - reserialise: lossy but versatile conversion between data serialisation formats

jmespath.py - JMESPath is a query language for JSON.