0.0.8 • Published 8 years ago

jsoniq v0.0.8

Weekly downloads
4
License
Apache-2.0
Repository
github
Last release
8 years ago

The JSON Query Language

Circle CI NPM version

Compiles JSONiq queries to Javascript.

$ cat query.jq
for $x in (4,1,2,3)
for $y in (4,1,2,3)
order by $x ascending, $y descending
return { x: $x, y: $y }
$ jsoniq compile query.jq
$ node query.js
{ x: 1, y: 4 }
{ x: 1, y: 3 }
{ x: 1, y: 2 }
{ x: 1, y: 1 }
{ x: 2, y: 4 }
{ x: 2, y: 3 }
...

Install

$ npm install jsoniq -g

Compiled queries need to access the runtime library therefore the jsoniq package needs to be installed as well.

$ npm install jsoniq --save
$ jsoniq compile test.jq
$ node test.js

Usage

To compile a query to JavaScript:

$ cat query.jq
for $x in (4,1,2,3)
for $y in (4,1,2,3)
order by $x ascending, $y descending
return { x: $x, y: $y }
$ jsoniq compile query.jq
$ node query.js
{ x: 1, y: 4 }
{ x: 1, y: 3 }
{ x: 1, y: 2 }
{ x: 1, y: 1 }
{ x: 2, y: 4 }
{ x: 2, y: 3 }
...

Or to run the query directly

$ jsoniq run query.jq

To print the query AST:

$ jsoniq ast query.jq

To print the query plan:

$ jsoniq plan query.jq