تخطَّ إلى المحتوى

jless - عارض JSON في سطر الأوامر

jless - عارض JSON في سطر الأوامر

jless هو عارض سريع وقراءة فقط لبيانات JSON (و YAML) في Terminal. بدلاً من أنابيب الإخراج الخام عبر less أو jq والتمرير عبر جدران الأقواس، تحصل على شجرة قابلة للطي مع تمييز الألوان التي يمكنك التنقل فيها باستخدام مفاتيح Vim وطي الهياكل المتداخلة بعمق والبحث. بنيت في الأساس لاستكشاف استجابات API وملفات التكوين والمستندات JSON الكبيرة بسرعة.

التثبيت

المنصةالأمر
Cargo (all platforms)cargo install jless
macOS (Homebrew)brew install jless
Arch Linuxsudo pacman -S jless
Nixnix-env -iA nixpkgs.jless
Binarydownload from the GitHub Releases page
التحققjless --version

فتح البيانات

الأمرالوصف
jless data.jsonفتح ملف JSON
`cat data.jsonjless`
`curl -s URLjless`
jless --yaml config.yamlفتح ملف YAML
jless --mode line data.jsonابدأ في وضع سطر (raw-ish view)
jless --helpقائمة الخيارات الكاملة

الحركة

المفتاحالإجراء
j / kأسفل / أعلى
h / lCollapse / expand (or move to parent/child)
g / Gاذهب إلى الأعلى / الأسفل
Ctrl+f / Ctrl+bالصفحة لأسفل / لأعلى
Ctrl+d / Ctrl+uنصف الصفحة لأسفل / لأعلى
J / Kانتقل إلى أخ التالي/السابق
Enterبدل توسيع/انهيار على العقدة الحالية

الطي والعروض

المفتاحالإجراء
SpaceCollapse / expand the current node
cانهيار جميع الأشقاء
eتوسيع جميع الأطفال بشكل متكرر
Eتوسيع كل شيء
Cانهيار عميق
Tab (mode)بدل بين وضع البيانات ووضع الخط
%القفز إلى القوس المطابق

البحث

المفتاحالإجراء
/patternالبحث الأمامي
?patternالبحث للخلف
n / Nالمطابقة التالية / السابقة
*ابحث عن المفتاح الحالي
Search is regexالأنماط تدعم التعبيرات العادية

العمل مع المسارات والقيم

المفتاحالإجراء
y then yYank (copy) the value under the cursor
y then pYank the path to the current node (e.g. .users[0].name)
y then vYank the value
y then kYank the current key
.إظهار المسار الكامل للعقدة الحالية

Yanking المسار مفيد بشكل خاص: انتقل إلى حقل بصري ثم الصق مساره jq-style في نص برمجي.

سير العمل المشتركة

# استكشف استجابة API كبيرة دون الغرق في الأقواس
curl -s https://api.example.com/data | jless

# فحص التكوين ونسخ المسار الدقيق لإعداد
jless config.json     # navigate, then yy/yp to grab value or path

# تصفح YAML بنفس طريقة JSON
jless --yaml docker-compose.yaml

# Pair with jq: filter first, then explore the result interactively
jq '.items' big.json | jless

jless مقابل أدوات JSON الأخرى

الجانبjlessjqfx
الوضععارض تفاعليQuery/transformتفاعلي + JS
Editing/transformلا (قراءة فقط)نعمنعم
Folding tree UIنعملانعم
Path yankنعمN/Aنعم
الأفضل لـالاستكشاف/الفحصصحيح Transformsاستكشف + تحويل

jless قراءة فقط بالتصميم — للتصفية والتحويل، أنابيب من خلال jq أولاً، ثم استكشف النتيجة في jless.

الموارد