https://github.com/ynqa/jnv Skip to content Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} ynqa / jnv Public * Notifications * Fork 2 * Star 191 * interactive JSON filter using jq License MIT license 191 stars 2 forks Branches Tags Activity Star Notifications * Code * Issues 2 * Pull requests 0 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights ynqa/jnv This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main BranchesTags Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 2 Commits .devcontainer .devcontainer .github/workflows .github/workflows src src tapes tapes .gitignore .gitignore CODE_OF_CONDUCT.md CODE_OF_CONDUCT.md CONTRIBUTING.md CONTRIBUTING.md Cargo.toml Cargo.toml LICENSE LICENSE README.md README.md View all files Repository files navigation * README * Code of conduct * MIT license jnv jnv is designed for navigating JSON, offering an interactive JSON viewer and jq filter editor. demo Inspired by jid and jiq. Features * Interactive JSON viewer and jq filter editor + Syntax highlighting for JSON * Accept JSON from stdin, file, URL * Auto-completion for the filter + Only supports: o Identity o Object Identifier-Index o Array Index * Hint message to evaluate the filter Installation Homebrew brew install ynqa/tap/jnv Cargo Requirements * automake cargo install jnv Note jnv does not require users to install jq on their system, because it utilizes j9 Rust bindings. Examples cat data.json | jnv Or jnv data.json Keymap Key Action Ctrl + C Exit jnv Tab jq filter auto-completion - Move the cursor one character to the left - Move the cursor one character to the right Ctrl + A Move the cursor to the start of the filter Ctrl + E Move the cursor to the end of the filter Backspace Delete a character of filter at the cursor position Ctrl + U Delete all characters of filter |, Ctrl + K Move the cursor one entry up in JSON viewer |, Ctrl + J Move the cursor one entry down in JSON viewer Ctrl + H Move to the last entry in JSON viewer Ctrl + L Move to the first entry in JSON viewer Enter Toggle expand/collapse in JSON viewer Ctrl + P Expand all folds in JSON viewer Ctrl + N Collapse all folds in JSON viewer Usage JSON navigator and interactive filter leveraging jq Usage: jnv [OPTIONS] [INPUT] Examples: - Read from a file: jnv data.json - Read from standard input: cat data.json | jnv Arguments: [INPUT] Optional path to a JSON file. If not provided or if "-" is specified, reads from standard input Options: -e, --edit-mode Specifies the edit mode for the interface. Acceptable values are "insert" or "overwrite". - "insert" inserts a new input at the cursor's position. - "overwrite" mode replaces existing characters with new input at the cursor's position. [default: insert] -i, --indent Affect the formatting of the displayed JSON, making it more readable by adjusting the indentation level. [default: 2] -n, --no-hint When this option is enabled, it prevents the display of hints that typically guide or offer suggestions to the user. -d, --expand-depth Specifies the initial depth to which JSON nodes are expanded in the visualization. Note: Increasing this depth can significantly slow down the display for large datasets. [default: 3] -l, --suggestion-list-length Controls the number of suggestions displayed in the list, aiding users in making selections more efficiently. [default: 3] -h, --help Print help (see a summary with '-h') -V, --version Print version About interactive JSON filter using jq Topics kubernetes rust cli autocomplete json command-line interactive prompt jq Resources Readme License MIT license Code of conduct Code of conduct Activity Stars 191 stars Watchers 2 watching Forks 2 forks Report repository Releases 1 v0.1.0 Latest Mar 19, 2024 Packages 0 No packages published Languages * Rust 97.9% * Dockerfile 2.1% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.