Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: jnv: interactive JSON filter using jq (github.com/ynqa)
373 points by aqny 6 months ago | hide | past | favorite | 41 comments



Very cool, small nitpicks: - Very slow for medium-sized JSON (16MB) - Fonts are too dark (made a PR) Looking for performant alternatives, I found fx (https://fx.wtf) which doesn't have the jq features but is a fast json viewer.


>Very slow for medium-sized JSON (16MB)

If aqny came here for fun, I think he just found it. Working on performance issues is the best.


He had found it already before I posted here!


We have to deal with 50+MB JSON files at work so it’d be awesome if jnv could handle that.


jless is pretty fast with everything I used on it, and has some limited searching capabilities: https://jless.io/user-guide


Looks awesome, one of my frustrations with jq has always been that I can't see what data I'm going to be retrieving until I run it.


This can help with seeing the data structure which might help with incrementaly creeping up on what values you are looking for.

https://github.com/TomConlin/json_to_paths


... which seems quite similar to gron [1]?

[1] https://github.com/tomnomnom/gron


Does not seem to be the same as `gron` from what I can see, `gron` makes JSON greppable and diffable, whereas `json_to_paths` seems to be outputting `jq` paths for each element, making it easy to select it.


Unexpected Betteridge's law of headlines ...


This looks really exciting - will definitely check it out.

Until now I've been using jq with up [0] for interactive queries, but I don't find myself liking up's UX much (especially for long queries or non-ASCII data) so I'm keen on looking for a replacement.

[0]: https://github.com/akavel/up


This is awesome!! I will be installing this as soon as I grab my laptop.

I was immediately drawn to your post because I'd made something similar.

https://github.com/bigH/interactively.git

I wonder if you could generalize the idea to support many more commands having an interactive interface on the CLI. I have long imagined a "command builder" which depending on cursor position would load the appropriate docs and display them as you edit your command line.


Very cool. I don't know if it's too much of an ask but could you adopt that to also work with OjG which uses JSONPath for instead of the jq syntax. I'd be glad to help if you are up for it. My apologies if I am out of line.


This looks great! looks very close to jless https://github.com/PaulJuliusMartinez/jless


I don't think jless copies the result into jq queries?


I would want everyone to know about the alternative, "fx"

You can do a lot more with it like map filter reduce etc and the semantics are closer to what you already know. Supports YAML too.

https://fx.wtf/getting-started


I was looking for a tool to dynamically filter and view JSONL log files. Ended up going with [VisiData](https://www.visidata.org/).

If you’re paraing JSONL (json lines), I highly recomend it.


I was thinking, would this be possible using nothing more than fzf?



Wow, you can really do a lot of very different stuff with a fuzzy finder




If you use Sublime Text, there is a plugin that allows you to do that too [0].

Disclaimer: I wrote that plugin some time ago.

[0]: https://packagecontrol.io/packages/Jq


Good job. I've been looking for this kind of tool for a while, would anyone inform me how to name them? I mean some json editor tui-software with jq-like viewer.


While the tool seems interesting, I wonder if it truly offers a significant advantage over existing solutions like `gron`. More benchmarking and feature comparisons would be helpful in assessing the merits.


If you use Emacs, there is also jq-mode. But jnv's filter auto-completion is really a killer feature for me.

[1] https://github.com/ljos/jq-mode


This is very cool! Any plans to make it also be able to write the filtered result to a file/stdout? I'd love to contribute that, but I'm only through 3 chapters of the Rust book.


I personally use IJQ https://sr.ht/~gpanders/ijq/


Sometimes I wish I could search within a json output in the browser or IDE. But the problem is not urgent enough to spend time on it.


what is the difference between this and jiq and ijq?


jiq is no longer maintained


Pretty cool little tool.

It would be even cooler if it highlighted matched keys while typing.


This looks great as a way of interactively build jq queries.


Rust guys - look this beautiful performant CLI tool that will make you more productive

JS guys - look at my new JS framework that you can use to do 15th rewrite of your website

I wonder how come communities evolve in this way.


Amazing tool.


How to copy the filter data?


feeling using ipython


no windows?


What i've been using recently:https://github.com/reegnz/jq-zsh-plugin

This does the fairly obvious thing of ramming fzf in there.


Somewhat related: ijq https://sr.ht/~gpanders/ijq/


jsoncurses




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: