aki-json-pick

Crates.ioaki-json-pick
lib.rsaki-json-pick
version0.1.10
sourcesrc
created_at2021-04-29 01:16:38.882517
updated_at2024-06-20 00:01:44.920348
descriptionThe json pick out command.
homepage
repositoryhttps://github.com/aki-akaguma/aki-json-pick
max_upload_size
id390838
size92,763
(aki-akaguma)

documentation

README

aki-json-pick

crate Docs Rust Version Apache2/MIT licensed Test ubu Test mac Test win

The json pick out command.

Features

  • the json pick out command.
  • minimum support rustc 1.58.1 (db9d1b20b 2022-01-20)

Command help

aki-json-pick --help
Usage:
  aki-json-pick [options]

The json pick out command.

Options:
      --color <when>        json colored output.
  -s, --select <selector>   pick out json value by <selector>.
  -p, --pretty              pretty output.
  -r, --raw-output          raw string output without JSON double-quote.

  -H, --help        display this help and exit
  -V, --version     display version information and exit
  -X <x-options>    x options. try -X help

Option Parameters:
  <when>        'always', 'never', or 'auto'
  <selector>    json selector

Examples:
  pick out some.property value:
    echo -e '{ "some": { "property": "yay!" } }' | aki-json-pick -s '"some"."property"'

Examples

Example 1: root selection

command line:

cat fixtures/01.json | aki-json-pick -s '.'

result output:

"This is a valid JSON text with one value"

Example 2: child selection

command line:

cat fixtures/01.json | aki-json-pick -s '"some"."property"'

result output:

"yay!"

Example 3: index selection

command line:

cat fixtures/01.json | aki-json-pick -s '"primes".[0]'

result output:

7

command line:

cat fixtures/01.json | aki-json-pick -s '"primes"[0]"'

result output:

7

command line:

cat fixtures/01.json | aki-json-pick -s '"primes".[2,0]'

result output:

[13,7]

Reference

This crate use jql. The selector is comatible.

Library example

See fn execute() for this library examples.

Changelogs

This crate's changelog here.

License

This project is licensed under either of

at your option.

Commit count: 33

cargo fmt