Highlights
๐ชถ Pure Perl implementation
No XS or C compiler required. If Perl runs, JQ::Lite runs โ even on legacy servers and air-gapped networks.
๐ jq-style queries
.users[].name and select(.age > 25) work just like jq. Chain conditions, mapping, and complex filters with familiar syntax.
๐งฐ CLI & library
Use it as the jq-lite command-line tool or embed it as a Perl module. Automate JSON transformations inside your scripts.
Installation
From CPAN
cpanm JQ::Lite
Install from CPAN to get started fast. All dependencies are resolved for you.
Homebrew (macOS)
brew tap kawamurashingo/jq-lite
brew install --HEAD jq-lite
macOS users can install via Homebrew. The HEAD build lets you try the latest features.
Portable installer
./download.sh [-v <version>] [-o /path/to/usb]
./install.sh [-p <prefix>] [--skip-tests] path/to/JQ-Lite.tar.gz
Fetch artifacts online and deploy offline. Perfect for air-gapped or locked-down environments.
Usage
As a Perl module
use JQ::Lite;
my $jq = JQ::Lite->new;
my @names = $jq->run_query(
'{"users":[{"name":"Alice"}]}',
'.users[].name'
);
print join "\n", @names;
From the CLI
jq-lite '.users[].name' users.json
jq-lite '.users[] | select(.age > 25)' users.json
jq-lite --yaml '.users[].name' users.yaml
Interactive mode
jq-lite users.json
Pass an input file and explore JSON interactively while trying out filters.
Use cases
Locked-down servers
Install without compilers or root access. As long as Perl is available, you're ready to go.
CI/CD pipelines
Inspect and transform JSON without shipping extra binaries. Keep automation scripts self-contained.
Data exploration & transformation
Feels natural to engineers who already know jq. Built-in 100+ functions handle even complex workflows.
Contact
Send us your questions or requests via the form below. The development team will get back to you shortly.