Jl

Jless, a command-line JSON viewer

Hacker News

Jless, a command-line JSON viewer

Hey, Hacker News! Today I'm proud to release jless, a command-line JSON viewer. jless provides a JSON viewing experience similar to what you see in a browser's network tab in the developer console, but from the comfort of your terminal, with a whole suite of vim-inspired key bindings to easily manipulate your view of the data and full-text regex search. I'm sure many of you have some piped together some combination of cat, jq and less before; hopefully jless can replace that usage (hence the name). It supports newline delimited JSON too, so it can handle any output from jq. I built jless to solve a problem I kept facing while building plaintextsports.com [1][2]. For the live data I use a lot of public, but undocumented APIs, and I was constantly digging through giant JSON files to understand how the data was structured. I tried installing multiple Chrome extensions, but was dissatisfied with all of them. I piped files through jq into less a lot, and that was ok, but not great. The Preview pane in the Network tab of Chrome's dev tools was pretty useful, and I modeled a lot of jless's behavior and appearance off of that, but it didn't fit well into my tmux + vim dev environment, and I couldn't easily use it to inspect files on disk. I wanted that experience, but in my terminal (and with search support). Once I had built a rudimentary version of jless a few months ago, I immediately started using it whenever I was debugging something, and my usage has only grown as I've added more basic functionality. I've finally added all the features I feel like it needs to be functional, useful, and reliable. There's definitely more features I want to add: Windows support, some way to filter data with jq filters (a la fx [3]), yanking objects to the clipboard, being able to hide keys entirely, streaming data in, so you can peek at the start of gigantic file, maybe a way to extract a schema from a file (like [4]), plenty of low-hanging fruit for performance. Support for different hierarchical data formats (YAML, TOML, XML) could be cool someday. I'm sure many people will ask for editing support, but sadly that is not something I plan on adding anytime soon. I also used this project as a chance to learn Rust (code style and design comments appreciated!), which I had only dabbled with before. For a command-line utility, this felt like an obvious choice: small binaries (~3mb), instant startup, and great performance without any effort (try searching for comma in a big file!). I hope you find it useful! [1]: https://plaintextsports.com , live sports scores in plain text, no ads, no tracking, no loading [2]: https://news.ycombinator.com/item?id=26310314 [3]: https://news.ycombinator.com/item?id=29861043 [4]: https://quicktype.io/typescript

Share card

Actual performance

344points
84comments
Made the leaderboard

Launch Intel predictions

Analyze your own launch →
Indie HackersFits the IH revenue-focused audience · Strong signals: supports, started · Missing: reddit linkedin, podcasting, created
88%88% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
best fitHighest predicted score across all platforms for this description.
Product HuntOn track for Day 1 leaderboard · Strong signals: model, new, using · Missing: mac, agents, macos
81%81% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
Hacker NewsStrong engagement from HN community · Strong signals: hacker news, ide, pipe · Missing: https docs, excited, just released
69%69% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
AppSumoMay struggle as an AppSumo deal · Strong signals: soon · Missing: plus, platform, intuitive
50%50% predicted probability of success on AppSumo, based on ML models trained on real launch data.
TrustMRRLess likely to generate early MRR · Strong signals: month, way · Missing: mobile apps, ios, personal
36%36% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Missing: arr, mrr, revenue
13%13% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Correct prediction on native model

Similar products

Js
Jsonlint – A lightweight command-line tool for validating JSON45%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Jsonlint – A lightweight command-line tool for validating JSON

Hacker News4
JS
JSON Viewer38%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

JSON Viewer

Hacker News2
Th
The last command line from Krypton53%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

The last command line from Krypton

Hacker News1
Ya
Yawn - Sleepyti.me for the command line53%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Yawn - Sleepyti.me for the command line

Hacker News1
Du
DuckDuckGo at your command-line53%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

DuckDuckGo at your command-line

Hacker News4
Fl
Flappy Bird in the command line46%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Flappy Bird in the command line

Hacker News2
Ha
Hacked together command-line "Spritz"54%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Hacked together command-line "Spritz"

Hacker News10
Jo
Joe – a .gitignore magician in your command line53%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Joe – a .gitignore magician in your command line

Hacker News4
Sp
Speedtest command line53%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Speedtest command line

Hacker News8
Sc
Scoop – A command-line installer for locked down PCs with Powershell 259%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Scoop – A command-line installer for locked down PCs with Powershell 2

Hacker News5