JsonToolsNppPlugin
A Notepad++ plugin providing tools for JSON like linting, querying, a tree view, and CSV conversion.
Install / Use
/learn @molsonkiko/JsonToolsNppPluginREADME
JsonToolsNppPlugin
Miscellaneous tools for working with JSON in Notepad++. Includes a general-purpose tree view with powerful search capabilities.
If you have any issues, see if updating to the latest release helps, and then feel free to raise an issue on GitHub. Please be sure to include diagnostic information about your system, Notepad++ version, and plugin version (go to ?->Debug Info... from the Notepad++ main menu).
Features
- Pretty-print JSON so that it's spread out over multiple lines.
- Compress JSON so that it has little or no unnecessary whitespace.
- Open a drop-down tree view of the document. Selecting a node in the tree navigates to the corresponding line in the document.
- Able to parse documents that have many different syntax errors, including but not limited to:
- The full JSON5 specification
- Python-style comments
- Missing commas and colons
- Unterminated strings, arrays, and objects
- Get the path to the current position
- Query and edit JSON with:
- a find/replace form
- an array sorting form
- the RemesPath query language.
- A regex search form for viewing and editing CSV files, or doing find/replace operations that involve math.
- Parse JSON Lines documents.
- A form for gettting JSON from APIs or many different local files.
- JSON schema validation, including automatic validation based on filenames.
- Generation of random JSON
- Generation of JSON schema from JSON
- Automatic error checking after editing
- Select all JSON in a non-JSON file
- Quickly convert between JSON strings and raw text
Downloads and Installation
Go to the Releases page to see past releases.
Download latest 32-bit version
You can unzip the 32-bit download to .\Program Files (x86)\Notepad++\plugins\JsonTools\JsonTools.dll.
Download latest 64-bit version
You can unzip the 64-bit download to C:\Program Files\Notepad++\plugins\JsonTools\JsonTools.dll.
Alternatively, you can follow these installation instructions to install the latest version of the plugin from Notepad++.
Downloading unreleased versions
You can also download recently committed but unreleased versions of JsonTools by downloading the appropriate GitHub artifact in the following way:
- Go to the commit history of JsonTools.
- Most commits will have a green checkmark and the text
4/4next to their commit message. Click on it. - A dropdown menu showing the CI tasks will appear. Click on one of the
Detailslinks. Here's an example of a page that this leads to.. - Click the
Summarylink near the top-left corner of the page. Here's an example of the page this leads to. - If you chose a commit that was made in the last 90 days, at the bottom of this page you will find links to download
plugin_dll_x64(a zip archive containing 64-bitJsonTools.dll) orplugin_dll_x86(a zip archive containing 32-bitJsonTools.dll). Download the appropriate binary for your current Notepad++ installation. - Unzip the zip archive you downloaded into a folder.
- Close Notepad++, if it was open, because you can't modify the JsonTools DLL while it's in use.
- Copy the
JsonTools.dllinside the extracted folder into theNotepad++\plugins\JsonToolsfolder under your Notepad++ installation, overwriting your old version of JsonTools (or rename the old version so that you can switch back to it)
If you also want to download the most recent translation to another language, you will need to also download the most up-to-date translation file for that language from the translation folder of this repo. To do that:
- Click on one of the files in the list.
- Click the download icon near the top of the page.
- Put the downloaded raw
{yourLanguage}.json5file into thetranslationfolder of your JsonTools plugin directory, as discussed in the documentation on translating JsonTools.
Alternate version that supports arbitrarily large integers
Unlike Python, JsonTools uses 64-bit integers, which can take on values between -9223372036854775808 and 9223372036854775807. If an integer literal larger than this is parsed, JsonTools tries to represent it as a 64-bit floating point number, which can only precisely represent integers with absolute value up to 9007199254740992 but can imprecisely reprsent numbers with absolute value up to 1.7976931348623157e+308. Any integer literal too large for a 64-bit floating point number would thus be represented as Infinity or -Infinity.
If the 64-bit limit on integers is problematic for you, you may wish to download the latest release from the big_integer_for_Dtype_INT branch, which is maintained separately from the main branch but is not available on the plugin manager. Feature requests on that branch will not be accepted, but Mark Olson will try to commit bugfix updates as needed.
System Requirements
Every version of the plugin works on Notepad++ 8.4.1 onward, although some versions of Notepad++ have problems.
Versions of the plugin from 4.10.0.3 onward are compatible with older Notepad++ (tested for 7.3.3, may be compatible with even older).
Every version up to and including 3.7.2.1 should work natively on Windows 8 or later (note: this is untested), or you must install .NET Framework 4.0. Every version beginning with 4.0.0 works on Windows 10 May 2019 update or later, or you must install .NET Framework 4.8.
Problematic Notepad++ versions
This is not a complete list of known issues with JsonTools. For that, see the issue tracker and the Changelog. This is a list of issues that emerged in recent versions of Notepad++.
- Ctrl+C and Ctrl+X do not work inside of forms for all versions of JsonTools earlier than v7.0.0 on the following Notepad++ versions:
- Notepad++ 8.6 and 8.6.1
- Notepad++ 8.6.2 onward, when the new Notepad++ setting
Enable Copy/Cut Line without selectionis turned off.
- Using the Notepad++ find/replace form can cause problems with remembered selections, and may cause issues with RemesPath queries,under the following circumstances:
- Notepad++ 8.6.3 and 8.6.4, for all versions of JsonTools.
- Notepad++ 8.6.5, for JsonTools earlier than v7.1.0.
Alternative tools
Notepad++
This plugin may consume huge amounts of memory when working with really huge JSON files (say 50+ megabytes). As of version 0.3.0, my HugeFiles plugin can break a JSON file up into chunks such that every chunk is syntactically valid JSON. This way you don't need to read the entire file into the text editor, and you can look at one chunk at a time. You can also use this plugin to perform simple find/replace operations on the entire file (maybe eventually allowing control over which sections of the file to edit). Finally, the plugin allows a very large JSON file to be broken up into separa
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
