JSONiqは、XQueryをベースに作られた新しいクエリ言語である。 SQL や LINQのように、let, for, where, group by, select のようながシンタックスをサポートする。下がその例である。
let $stats := db:find("stats") for $access in $stats where $access("response_time") > 5 group by $url := $access("url") return { "url": $url, "avg": avg($access("response_time")), "hits": count($access) }
JSONiqは単に JSON から JSONへの変換以上のものをサポートしている。XMLを生成したり、パースするのに使えるし、その2つをマージする生成することもできる。ドキュメントから例がこれで、JSONiqがHTMLテーブルを生成するテンプレート言語として使われているのがわかる。
XQueryのように、 JSONiqはオーバーラッピングと非オーバーラッピングのウィンドーをサポートしている。このフィーチャは、データを均等な大きさの塊に分割したり、「最後の3つの」平均のような統計的計算に使うことができる。XPath仕様書にあるタンブリンウィンドーやスライディングウィンドーについてもっと知ることができる。
JSONiq の別のフォーチャは、JSONデータをアップデートする機能である。下の例では、名前が "Deadbeat Jim"に一致したレコードにステータス・プロパティが挿入されているのがわかる。
JSONiqは、 XQueryプロセッサZorbaの一部として入手でき、 Apache 2 ライセンスのもとで配布されている。JSONiq 自身は、Creative Commons Attribution-ShareAlike 3.0 Unported Licenseのもとでライセンスされている。