1
0
mirror of https://github.com/stedolan/jq.git synced 2024-05-11 05:55:39 +00:00
stedolan-jq/README.md

77 lines
2.9 KiB
Markdown
Raw Normal View History

2012-09-18 23:40:19 +01:00
jq
==
jq is a lightweight and flexible command-line JSON processor.
2012-09-18 23:40:19 +01:00
If you want to learn to use jq, read the documentation at
2023-05-28 17:06:31 +01:00
[https://jqlang.github.io/jq](https://jqlang.github.io/jq). This
2012-09-18 23:40:19 +01:00
documentation is generated from the docs/ folder of this repository.
2015-08-15 12:07:00 -07:00
You can also try it online at [jqplay.org](https://jqplay.org).
2012-09-18 23:40:19 +01:00
If you want to hack on jq, feel free, but be warned that its internals
are not well-documented at the moment. Bring a hard hat and a
2023-05-28 17:06:31 +01:00
shovel. Also, read the wiki: https://github.com/jqlang/jq/wiki, where
2017-01-31 16:13:32 -06:00
you will find cookbooks, discussion of advanced topics, internals,
release engineering, and more.
2012-09-18 23:40:19 +01:00
Source tarball and built executable releases can be found on the
homepage and on the github release page, https://github.com/jqlang/jq/releases.
Docker image is available at https://github.com/jqlang/jq/pkgs/container/jq.
If you're building directly from the latest git, you'll need libtool, make, automake,
and autoconf installed.
2017-05-03 20:37:21 +02:00
To get regexp support you'll also need to install Oniguruma or clone it as a
git submodule as per the instructions below. To build, run:
2017-05-03 20:37:21 +02:00
git submodule update --init # if building from git to get oniguruma
autoreconf -i # if building from git
2017-05-03 20:37:21 +02:00
./configure --with-oniguruma=builtin
make -j8
make check
Developers must `--enable-maintainer-mode` when making changes to the
jq parser and lexer which also requires bison and flex to be installed.
To build a statically linked version of jq, run:
make LDFLAGS=-all-static
2015-02-15 18:08:09 -06:00
After make finishes, you'll be able to use `./jq`. You can also
install it using:
sudo make install
If you're not using the latest git version but instead building a
released tarball (available on the website), then you won't need to
run `autoreconf` (and shouldn't), and you won't need flex or bison.
To cross-compile for OS X and Windows, see docs/Rakefile's build task
and scripts/crosscompile. You'll need a cross-compilation environment,
such as Mingw for cross-compiling for Windows.
Cross-compilation requires a clean workspace, then:
# git clean ...
autoreconf -i
./configure
make distclean
scripts/crosscompile <name-of-build> <configure-options>
Use the `--host=` and `--target=` ./configure options to select a
cross-compilation environment. See also
2023-05-28 17:06:31 +01:00
["Cross compilation"](https://github.com/jqlang/jq/wiki/Cross-compilation) on
the wiki.
To compile jq to WebAssembly, install the [Emscripten SDK](https://emscripten.org/docs/getting_started/downloads.html), then:
git submodule update --init # if building from git to get oniguruma
autoreconf -i # if building from git
emconfigure ./configure --with-oniguruma=builtin
emmake make EXEEXT=.js CFLAGS="-O2" LDFLAGS="-s EXPORTED_RUNTIME_METHODS=['callMain']"
Merge old jqlang/jq master to the latest (#2596) * Try making some GitHub Actions * GHA: Add OS X, Windows, and Linux w/ scan-build builds * Add link to discord server Add link to discord server * Update Ubuntu to 22.04 for GitHub Actions * Remove if condition for Ubuntu build * Fix MacOS OS on GitHub Actions * Fix python3 package on GitHub Actions * Disalbe valgrind Getting failed tests: https://github.com/jqlang/jq/actions/runs/5113866588/jobs/9193542140#step:9:341 * Format file * Fix macos build * Fix syntax errors of windows build https://github.com/jqlang/jq/actions/runs/5114162556/workflow * Install windows package with choco * Pin oniguruma to 5a24a49d710a9e3bb8ff11d12e1eae5a9f9df40c MacOS build [fails](https://github.com/jqlang/jq/actions/runs/5114162555/jobs/9194126677#step:6:3160) due to ``` posix.c:94:3: error: implicit declaration of function 'onig_end' is invalid in C99 [-Werror,-Wimplicit-function-declaration] onig_end(); ``` The current `oniguruma` revision 6fa38f4084b448592888ed9ee43c6e90a46b5f5c (15 Mar 2017) lacks the following explicit declaration in src/onigposix.h: ``` ONIG_EXTERN int onig_end P_((void)); ``` This was added to oniguruma in revision 5a24a49d710a9e3bb8ff11d12e1eae5a9f9df40c (8 Sep 2017). Ref: https://github.com/jqlang/jq/issues/2381 * Revert windows build to use pacman * Don't zip jq.exe * Fixing windows build * Update .gitattriutes for eol on Windows * Skip workflow_dispatch for windows build * Clean up builds * Use LF line endings for all text Ref: https://github.com/actions/checkout/issues/135 * Fix test that has rounding error https://github.com/jqlang/jq/pull/2596#issuecomment-1568498993 * Enable CI for all --------- Co-authored-by: Nicolas Williams <nico@cryptonector.com>
2023-06-01 10:09:39 -07:00
# Community
* Send questions to https://stackoverflow.com/questions/tagged/jq.
* Join our [Discord server](https://discord.gg/yg6yjNmgAC).