mirror of
https://github.com/jqlang/jq.git
synced 2026-10-26 20:16:33 +00:00
f94a9d463ffb3422861a0da140470dbf5ce76632
This patch removes the weird behaviour of jv_invalid_with_msg(jv_null()) that returns jv_invalid() (i.e. empty), instead of a boxed jv_null(). The previous behaviour of null|error was obviously unintentional, and allowing is jv_invalid_with_msg() to return values on which you can't call jv_invalid_get_msg() is only error prone.
jq
jq is a lightweight and flexible command-line JSON processor akin tosed,awk,grep, and friends for JSON data. It's written in portable C and has zero runtime dependencies, allowing you to easily slice, filter, map, and transform structured data.
Documentation
- Official Documentation: jqlang.github.io/jq
- Try jq Online: jqplay.org
Installation
Prebuilt Binaries
Download the latest releases from the GitHub release page.
Docker Image
Pull the jq image to start quickly with Docker.
Building from source
Dependencies
- libtool
- make
- automake
- autoconf
Instructions
git submodule update --init # if building from git to get oniguruma
autoreconf -i # if building from git
./configure --with-oniguruma=builtin
make -j8
make check
sudo make install
Build a statically linked version:
make LDFLAGS=-all-static
If you're not using the latest git version but instead building a released tarball (available on the release page), skip the autoreconf step, and flex or bison won't be needed.
Cross-Compilation
For details on cross-compliation, check out the GitHub Actions file and the cross-compliation wiki page.
Community & Support
- Questions & Help: Stack Overflow (jq tag)
- Chat & Community: Join us on Discord
- Wiki & Advanced Topics: Explore the Wiki
License
jq is released under the MIT License.
Languages
C
78.7%
M4
6.4%
Shell
6.3%
Yacc
3.2%
jq
1.5%
Other
3.9%