Show HN: jnv: `jq` ile etkileşimli JSON filtreleme
(github.com/ynqa)-
JSON gezinimi için jnv_jnv_
- jnv_jnv_, etkileşimli bir JSON görüntüleyici ve
jqfiltre düzenleyicisi sunar. - jid ve jiq'ten ilham alınarak tasarlanmıştır.
- jnv_jnv_, etkileşimli bir JSON görüntüleyici ve
-
Özellikler
- JSON sözdizimi vurgulamalı etkileşimli JSON görüntüleyici ve
jqfiltre düzenleyicisi. - Standart girdi (stdin), dosya ve URL'den JSON alabilir.
- Filtre otomatik tamamlama desteği.
- Desteklenen filtre türleri: Identity, Object Identifier-Index, Array Index.
- Filtre değerlendirmesi için ipucu mesajları sunar.
- JSON sözdizimi vurgulamalı etkileşimli JSON görüntüleyici ve
-
Kurulum
- Homebrew ile kurulum:
brew install ynqa/tap/jnv - Cargo ile kurulum:
- Gereksinim: automake
- Kurulum komutu:
cargo install jnv
- jnv, kullanıcının sistemine
jqkurmasını gerektirmez. Bunun nedeni Rust binding'i olan j9'u kullanmasıdır.
- Homebrew ile kurulum:
-
Örnekler
- Dosyadan okuma:
jnv data.json - Standart girdiden okuma:
cat data.json | jnv
- Dosyadan okuma:
-
Tuş eşlemeleri
Ctrl + C: jnv'den çıkTab: jq filtresi otomatik tamamlama- Ok tuşları ve
Ctrlkombinasyonları: imleci hareket ettirme ve filtre karakterlerini silme Enter: JSON görüntüleyicide genişlet/daralt geçişiCtrl + P/N: JSON görüntüleyicide tüm katlamaları genişlet/daralt
-
Kullanım
- jq tabanlı JSON gezgini ve etkileşimli filtre.
- Kullanım örneği:
jnv [OPTIONS] [INPUT] - Seçenekler:
- Düzenleme modu belirtme: "insert" veya "overwrite"
- JSON gösterim biçimini ayarlama: girinti seviyesini değiştirme
- İpuçlarını gösterme durumu: kullanıcıya öneri veya rehberlik sağlayan ipuçlarının gösterilip gösterilmeyeceği
- Başlangıç genişletme derinliğini belirleme: JSON düğümlerinin başlangıçtaki genişletme derinliği
- Öneri listesi uzunluğunu kontrol etme: kullanıcının seçimleri daha verimli yapabilmesi için öneri listesi uzunluğunu ayarlama
GN⁺ görüşü
- jnv_jnv_, JSON verilerini kolayca gezip filtrelemeyi sağlayan bir araçtır; özellikle büyük veri kümeleriyle çalışan geliştiriciler için kullanışlıdır.
- Bu araç,
jq'nun güçlü yeteneklerini kullanıcı dostu bir arayüzle sunarak JSON veri işlemeyi daha verimli hale getirir. - jnv_jnv_, Rust ile geliştirildiği için performans ve kararlılık açısından avantaj sağlayabilir; ayrıca sisteme ayrı olarak
jqkurma gereksiniminin olmaması da bir artıdır. - Benzer işlevler sunan diğer araçlar arasında Postman veya Insomnia gibi API test araçları bulunur; ancak bunlar ağırlıklı olarak API testine odaklandığından, jnv_jnv_ gibi saf JSON gezinimi için daha az özelleşmiştir.
- jnv_jnv_ kullanıma alınırken kullanıcı arayüzünün sezgiselliği ve filtreleme işlevlerinin sınırları dikkate alınmalıdır; karmaşık JSON işleme gerektiğinde ayrıca
jqbetiklerini öğrenmek gerekebilir.
1 yorum
Hacker News yorumları
Çok hoş, küçük bir eleştiri:
PRgönderdim)jqözelliklerine sahip olmasa da hızlı bir JSON görüntüleyici olanfx'i buldum (fx.wtf)Gerçekten ilginç görünüyor - kesinlikle bakacağım.
jqveupkullanıyordum amaup'ın UX'ini sevmiyorum (özellikle uzun sorgular veya ASCII dışı verilerde)Gerçekten çok hoş!! Dizüstü bilgisayarıma geçer geçmez kuracağım.
Gerçekten hoş!
jless'e çok benziyor gibi duruyor.Bazen tarayıcıda ya da IDE içinde JSON çıktısı içinde arama yapabilmeyi istediğimi düşünüyorum.
Emacs kullanıyorsanız
jq-modeda var.jnv'nin filtre otomatik tamamlama özelliği gerçekten harika bir killer featureGerçekten hoş,
jqkullanırken beni her zaman hayal kırıklığına uğratan şey, veriyi çekmeden önce ne elde edeceğini görememen.Sublime Text kullanıyorsanız, bunu mümkün kılan bir eklenti var.
Herkesin alternatif
fx'i bilmesini isterdim.map,filter,reduceve daha fazlasını yapabiliyor; ayrıca anlam modeli, zaten bildiğiniz şeylere daha yakınÇok hoş. Fazla büyük bir istek mi bilmiyorum ama bunu,
jqsözdizimi yerine JSONPath kullanan OjG ile de çalışacak şekilde uyarlayabilir misiniz?