👋

jqっぽいJSONクエリをPerlで!軽量モジュール JQ::Lite を作りました

に公開

PerlでJSONを扱うとき、「jqみたいにスマートにデータ抽出したいな…」と思ったことはありませんか?

そこで、jq風の文法でJSONを操作できるモジュール JQ::Lite を作成し、CPANに公開しました。

JQ::Lite とは?

  • 📦 Pure Perl(依存なし)
  • 🧠 jq風のドット&パイプ記法でのクエリが可能
  • 🔍 select(...) による絞り込みや関数も使える
  • 💻 CLIツール jq-lite も同梱

GitHub / CPAN

使い方(Perlから)

use JQ::Lite;
my $json = '{"users":[{"name":"Alice"},{"name":"Bob"}]}';
my $jq = JQ::Lite->new;
my @names = $jq->run_query($json, '.users[].name');
print join("\n", @names), "\n";

使い方(CLI)

cat users.json | jq-lite '.users[].name'

対応関数や構文

  • .key, .array[], .object.key
  • select(.foo == "bar")
  • length, keys, sort, unique, first, last, reverse
  • オプショナルアクセス .key?
  • ネストされた条件もOK:select(.meta has "key")

まとめ

軽量で柔軟、PerlスクリプトにもCLIにも組み込めるモジュールです。
ぜひ使ってみて、GitHubでStarいただけると励みになります ⭐

Discussion