👋
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