Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A "json" command for massaging JSON on your Unix command line.

License

NotificationsYou must be signed in to change notification settings

trentm/json

Repository files navigation

json is a fast CLI tool for working with JSON. It is a single-file node.jsscript with no external deps (other thannode.js itself). A quick taste:

$ echo '{"foo":"bar"}' | json{  "foo": "bar"}$ echo '{"foo":"bar"}' | json foobar$ echo '{"fred":{"age":42}}' | json fred.age    # '.' for property access42$ echo '{"age":10}' | json -e 'this.age++'{  "age": 11}# `json -ga` (g == group, a == array) for streaming mode$ echo '{"latency":32,"req":"POST /widgets"}{"latency":10,"req":"GET /ping"}' | json -gac 'this.latency > 10' reqPOST /widgets

Features:

  • pretty-printing JSON
  • natural syntax (like JS code) for extracting particular values
  • get details on JSON syntax errors (handy for config files)
  • filter input JSON (see-e and-c options)
  • fast stream processing (see-ga)
  • JSON validation
  • in-place file editing

Seehttps://trentm.com/json for full docs and examples as a man page.

Follow@trentmickfor updates to json.

Installation

  1. Getnode.

  2. npm install -g json

    Note: This used to be called 'jsontool' in the npm registry, but as ofversion 8.0.0 it has taken over the 'json' name. Seenpm PackageName below.

OR manually:

  1. Get the 'json' script and put it on your PATH somewhere (it is a single filewith no external dependencies). For example:

     cd ~/bin curl -L https://github.com/trentm/json/raw/master/lib/json.js > json chmod 755 json

You should now have "json" on your PATH:

$ json --versionjson 9.0.0

WARNING for Ubuntu/Debian users: There is a current bug in Debian stablesuch that "apt-get install nodejs" installed anodejs binary instead of anode binary. You'll either need to create a symlink fornode, change thejson command's shebang line to "#!/usr/bin/env nodejs" or usechrislea's PPA asdiscussed onissue #56. You can also do "apt-get install nodejs-legacy" to install symlink fornode with apt.

Test suite

npm test   # or 'make test'

This is using node-tap, so you can use allits options,for example filtering which tests to run:

npm test -- -g stream

License

MIT (see the fine LICENSE.txt file).

Module Usage

Since v1.3.1 you can use "json" as a node.js module:

var json = require('json');

However, so far the module API isn't that useful and the CLI is the primaryfocus.

npm Package Name

Once upon a time,json was a different thing (seezpoley's json-commandhere), and this module wascalledjsontool in npm. As of version 8.0.0 of this module,npm install jsonmeans this tool.

If you see documentation referring tojsontool, it is most likelyreferring to this module.

Alternatives you might prefer


[8]ページ先頭

©2009-2025 Movatter.jp