مطور / JSON
اختبار JSONPath (RFC 9535)
اختبر تعبيرات JSONPath على JSON واعرض كل تطابق مع مساره المطبّع، وفق معيار JSONPath وRFC 9535، مع المرشحات والشرائح والدوال.
اختبار JSONPath (RFC 9535): يحلّل التعبير ويتحقق منه وفق تعريف RFC 9535، لذلك تُرفض التعبيرات غير الصالحة مع تحديد موضع الخطأ بدلاً من عدم إظهار أي تطابق بصمت. تدعم الأداة الأسماء، والمحارف البديلة، والفهارس، والشرائح، والاتحادات، ومقاطع العناصر السلف (..)، والمرشحات التي تتضمن المقارنات و&& و|| و! والدوال length() وcount() وmatch() وsearch() وvalue(). ينجح التنفيذ في جميع الحالات البالغ عددها 706 في مجموعة اختبارات الامتثال الرسمية لـ JSONPath. يعمل 100% محليًا في المتصفح، من دون رفع أي ملفات إلى الخادم.
- الفئة
- أدوات المطورين
- مرات التشغيل
- في المتصفح
- التكلفة
- مجاني · بلا تسجيل
- التوفر
- جاهز للاستخدام
تعمل بالكامل في المتصفح
التطابقات: 1
| المسار | القيمة |
|---|---|
$['store']['book'][0]['title'] | "Sayings of the Century" |
تتبع التعابير معيار JSONPath، RFC 9535، بما في ذلك عوامل التصفية، والشرائح، والدوال length() وcount() وmatch() وsearch() وvalue(). تُعرض المسارات بالتنسيق المطبَّع وفقًا للمعيار.
مرجع سريع
يمثل $ المستند بأكمله، بينما يمثل @ العنصر الحالي في عامل التصفية. يحدد .name أو ['name'] عضواً، ويحدد [0] عنصراً (ويبدأ العد السالب من النهاية)، ويحدد [1:3] شريحة، ويحدد * كل عنصر فرعي، بينما يبحث .. في كل المستويات. تحتفظ عوامل التصفية بالعناصر الفرعية التي يتحقق فيها الشرط: [?@.price < 10 && @.category == 'fiction'].
لتصفح المستند على هيئة شجرة، استخدم عارض JSON؛ وللتحقق منه مقابل مخطط، استخدم مدقق JSON Schema.
أين يُستخدم JSONPath
تستخدم Kubernetes (kubectl -o jsonpath)، وأدوات اختبار API، وخطوط معالجة السجلات والمراقبة، والعديد من قواعد البيانات JSONPath أو ما يشبهه لاستخراج القيم من JSON. ومنذ 2024، يحسم المعيار RFC 9535 التفاصيل التي اختلفت بشأنها التطبيقات الأقدم.
طريقة الاستخدام
- ألصق JSON، أو استخدم نموذج bookstore.
- اكتب تعبير JSONPath، أو انقر على مثال للبدء.
- اقرأ كل تطابق ومساره، وانسخ القيم المتطابقة.
الخصوصية والقيود
تُقيَّم بيانات JSON والتعبير في المتصفح ولا يتم رفعها إلى أي خادم.
أدوات ذات صلة
الأسئلة الشائعة
لماذا يفشل التعبير الذي استخدمته في أداة أخرى هنا؟
تختلف مكتبات JSONPath الأقدم في بعض التفاصيل، مثل صيغة المرشح ?(@.price < 10) مقارنةً بـ ?@.price < 10، أو تعبيرات السكربت. تعمل صيغتا المرشح هنا، لكن JavaScript داخل التعبيرات لا يعمل لأن المعيار يمنعه.
ما المسار المطبّع؟
هو مسار فريد ومعياري يصل إلى عقدة واحدة، مثل $['store']['book'][0]، مع كتابة الأسماء بين أقواس واقتباسات. يفيد ذلك في تحديد القيم المتطابقة بدقة.
كيف أختار العناصر وفق نمط؟
استخدم match() لتطبيق تعبير عادي على السلسلة كاملة، أو search() للبحث عن جزء من السلسلة: $.items[?match(@.sku, 'A-[0-9]+')].
أداة مجانية · عدد مرات الاستخدام في المتصفح · لا يتطلب حسابًا