1. 50

    1. 14

      Hey Lobsters,

      I’ve rebuilt fx from the ground up and I’m eager to share the improvements:

      • Handling of large JSON files? Check. 🚀
      • Enhanced TUI experience with themes. 🌈
      • Faster JSON navigation using Dig Fuzzy Search (just hit .). 🐾
      • Comprehensive regex search across the entire JSON. 🔍
      • Long strings now wrap as they should. 📜
      • Embracing all things JSON: comments, trailing commas, and streams. ✏️

      The entire rewrite focused on speed and usability. If you’ve found fx useful, I’d appreciate any support through GitHub sponsors.

      Feedback and thoughts are always welcome!

      1. 3

        I’m using fx on a daily basis. Great tool and experience using it. Thanks for this!

        1. 1

          Awesome) Thanks.

      2. 2

        What’s the difference between this and jq? It seems to be the TUI experience? Might be worth having a comparison somewhere.

        Website looks really nice :)

        1. 2

          Seems like the interactive exploration UI is what mostly sets it apart from jq - and also makes it seem similar at first glance to jless - a comparison with that would be interesting too

          1. 2

            I do like fx for what it offers in terms of exploring datasets. Based on your (valid) comment comparing it with jq I’m wondering if you know about ijq which is very much an “interactive jq”, from gpanders here.


            It’s a great tool.

            1. 6

              It would be great to merge these two concepts — rich JSON navigation with live processing in either jq or JS languages.

              Cue someone telling me this has been an Emacs mode for years… :)

      3. 2

        Can I when I’ve navigated to the value i care about extract its path, like I get with gron?

        1. 1

          Yes. Easy. Just press y and p.

    2. 2

      I rediscovered fx yesterday (well, github recommended it to me) It’s nice, but I stick to jless for now

      1. 2

        I also prefer jless, but your link is pointing to a page about berlin ;)

        1. 1

          Whoops, here is the correct link https://jless.io/

    3. 1

      Someone I follow on GitHub starred this a couple days ago. Fantastic project!

      I found the default key binds also very intuitive. I’m using it for interactive use - I prefer jq for writing filters and getting data out of JSON for shell scripts, but I might have a go at converting some scripts to use fx filters just to see how I like them.

      Great work!

    4. 1

      The other day, I found myself in need of visualising a tree of paths, like this:


      I ended up converting it to a JSON with a one-off Python script, and then using fx for the viewing. It worked very well! Thank you for the tool!

      (Incidentally, I’ve been writing my own viewer to satisfy my original need more straightforwardly, but that’s still in very early stages.)

      1. 2

        See also gron.

    5. [Comment removed by author]

    6. 1

      It would be nice if it could handle a sequence of json object like:

        "a": 123
        "a": 321

      Right now I’m getting: Unexpected character '{' after root node on node 1.

      1. 1

        It could but in streaming mode: via dot

        … | fx .

        But I guess it should be relatively easy to support multiple top level objects.