Jq (programming language)

jq
Official jq logo
ParadigmsPurely functional, JSON-oriented processing, tacit programming
Designed byStephen Dolan
First appearedAugust 21, 2012 (2012-08-21)
Stable release
1.8.0  / 1 June 2025
Typing disciplinedynamic
Memory managementautomatic
Scopelexical
Implementation languagejq: C
gojq: Go
jaq: Rust
jqjq: jq
PlatformCross-platform
OSCross-platform
LicenseMIT
Websitejqlang.org

jq is a very high-level lexically scoped functional programming language in which every JavaScript Object Notation (JSON) value is a constant. jq supports backtracking and managing indefinitely long streams of JSON data. It is related to two programming languages—Icon and Haskell. The language supports a namespace-based module system and has some support for closures. functions and functional expressions can be used as parameters of other functions.

The original implementation of jq was in Haskell before being quickly ported to C.