Ⅰ. 插件描述
JSON Fixer for Humans using (relaxed) JSON5Ⅱ. 基本信息
|
Ⅲ. 安装方法
使用Vundle管理器安装
在你的.vimrc下添加:Plugin 'rhysd/fixjson'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall
对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。
使用NeoBundle管理器安装
在你的.vimrc下添加:NeoBundle 'rhysd/fixjson'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall
使用VimPlug管理器安装
在你的.vimrc下添加:Plug 'rhysd/fixjson'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall
使用Pathogen管理器安装
在终端中运行以下命令:cd ~/.vim/bundle
git clone https://github.com/rhysd/fixjson
Ⅳ. 文档说明
JSON fixer for Humans
[![npm version][]][fixjson]
[![travis ci badge][]][travis ci]
[![appveyor badge][]][appveyor]
[fixjson][] is a JSON file fixer/formatter for humans using (relaxed) JSON5.
fixjson provides:
Pretty-printing JSON5 input
- ES5 syntax is available to write up JSON
Fixes various failures while humans writing JSON
- Fixes trailing commas objects or arrays
- Fixes missing commas for elements of objects or arrays
- Adds quotes to keys in objects
- Newlines in strings
- Hex numbers
- Fixes single quotes to double quotes
fixjson reads an input in relaxed JSON5 format and outputs it in JSON format. Indent
width is automatically detected.
This CLI tool aims to be used with editor extensions.
- [vim-fixjson][] (dedicated Vim plugin)
- [ALE][] (Vim plugin)
- [neoformat][] (Vim plugin)
- [vim-autoformat][] (Vim plugin)
Screenshots of Fixes
When moving a line to another line, you no longer need to care about a trailing comma:

And you also don't need to care about a trailing comma of a previous line when adding a new element
to an object or an array:

When adding a new key-value to an object, quotes of the key are fixed. And single quotes for strings
are also fixed to double quotes:

JSON string does not allow multi-line string. \n is required to embed multi-line string to JSON.
fixjson automatically fixes newlines in strings. This is useful when copy&paste some string to JSON
file:

JSON only accepts decimal digits for numbers. fixjson automatically converts 0x hex numbers to
decimal numbers. You no longer need to convert hex numbers manually:

And of course it pretty-prints the JSON code, with automatic indent detection:

Installation
$ npm install -g fixjsonIt installs fixjson command globally.
Usage
$ fixjson [--write|-w|--indent|-i] [paths...]If paths are given, glob such as dir/**/*.json is available. If the path is a directory, it formats
all JSON files in the directory. If no path is given, it reads from STDIN.
If --write (or -w) option is provided, it overwrites files.
If --indent {num} (or -i {num}) is not provided, it detects indent spaces.
Please see fixjson --help for more details.
License
Distributed under the MIT License. Please see LICENSE.