Omnikit
المطورونالملفاتالمالجميع الأدوات
Ctrl K
أدوات المطورينأدوات الملفاتالحاسبات الماليةجميع الأدوات
الرئيسيةأدوات المطورينمختبر JSONPath
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

مختبر JSONPath

مطورون

شغّل استعلامات JSONPath وفق RFC 9535 على JSON ملصوق وشاهد كل تطابق مظلّلًا

يعمل في متصفحك. لا يُرسل أي شيء تكتبه إلى أي مكان.

يستخرج JSONPath القيم من JSON بتعبير قصير. ‏$.store.book[*].author يعيد كل المؤلفين، و$..price كل الأسعار في أي عمق، و$..book[[email protected] < 10] الكتب التي يقل سعرها عن 10 فقط. يتبع هذا المختبر RFC 9535، معيار عام 2024، ويظلّل كل تطابق في JSON المنسّق.

تُرجمت هذه الصفحة آليًا من الأصل الإنجليزي. لم يراجع أي شخص هذه الترجمة بعد، لذا فالنسخة الإنجليزية هي التي يُعتمد عليها. اقرأ الأصل الإنجليزي

التالي:
  • JMESPath Tester Run JMESPath queries on pasted JSON, as the AWS and Azure CLI --query does
  • منسّق JSON ومدقّقه نسّق JSON وتحقق منه وصغّره ورتّبه مع الموضع الدقيق لكل خطأ

كيف تختبر تعبير JSONPath

1

الصق JSON في لوحة JSON، أو اضغط جرّب مثالًا.

2

اكتب استعلامًا في مربع JSONPath، أو اختر واحدًا من أمثلة.

3

شاهد التطابقات المعلَّمة في تبويب مظلّل، أو افتح النتائج لترى كل مسار وقيمة.

4

اضغط نسخ القيم لتحصل على التطابقات كمصفوفة JSON، أو نسخ المسارات.

عن مختبر JSONPath

يشغّل مختبر JSONPath هذا استعلامًا على JSON الذي تلصقه ويعرض النتيجة بثلاث طرق: قائمة بالقيم المطابقة، والمسار الموحّد لكل تطابق، وتظليل التطابقات داخل المستند المنسّق. تتحدّث النتيجة أثناء الكتابة، فيمكنك بناء التعبير خطوة بخطوة ورؤية موضع الخطأ.

يطبّق المحرك RFC 9535، معيار JSONPath الذي نشرته IETF في 2024. ويدعم الجذر $، والوصول إلى الأبناء بالنقطة والأقواس، وعامل النزول التكراري ..، وأحرف البدل، وفهارس المصفوفات بما فيها السالبة، والشرائح مثل [1:5:2] و[::-1]، وتعابير التصفية مع == و!= و< و<= و> و>= و&& و|| و!. وتتوفر الدوال القياسية الخمس: length() وcount() وvalue() وmatch() وsearch()، وتقبل الأخيرتان تعابير نمطية بصيغة I-Regexp. تُرفض الاستعلامات التي تخالف قواعد الأنواع في المعيار، مثل مقارنة استعلام قد يعيد عدة عُقد، مع رسالة توضح السبب.

تختلف مكتبات قديمة كثيرة عن المعيار في تفاصيل صغيرة، ومنها JSONPath الأصلي لعام 2007 وJayway للغة Java: بعضها يحتاج إلى أقواس حول المرشحات كما في [?(@.price < 10)]، وهذا لا يزال يعمل هنا؛ وبعضها يسمح بتعابير برمجية أو دوال إضافية لا يتضمنها RFC 9535. إذا رُفض استعلام مأخوذ من وثائق مكتبة ما، فعادةً ما تذكر الرسالة وجه الاختلاف.

يُبلَّغ عن JSON غير الصالح مع السطر والعمود لأول مشكلة. تُقرأ الأرقام كأرقام JavaScript، فتفقد الأعداد الصحيحة الأكبر من 2^53 دقتها، ويحتفظ المفتاح المكرر بآخر قيمة له.

ما لا يفعله: صيغة JMESPath أو jq، أو تحرير JSON، أو جلب عنوان URL. يعمل كل شيء في متصفحك. أدوات ذات صلة: JSON Formatter وJSON Diff وJSON to TypeScript.

الأسئلة الشائعة

كيف أصفّي مصفوفة JSON حسب قيمة باستخدام JSONPath؟

استخدم محدّد تصفية: ‏$.items[[email protected] == 'active'] يُبقي العناصر التي قيمة status فيها active. يمثّل @ كل عنصر بالتناوب. اجمع الشروط بـ && و||، وقارن الأرقام بـ < و>، واكتب [email protected] وحده لإبقاء العناصر التي تحتوي على حقل email أصلًا.

ما الفرق بين . و.. في JSONPath؟

تأخذ النقطة الواحدة ابنًا للعقدة الحالية، فيقرأ $.store.book مستوى واحدًا في كل مرة. وتبحث النقطتان في كل الأعماق، فيجد $..price كل حقل price في أي مكان من المستند، بما في ذلك داخل المصفوفات. النزول التكراري مريح لكنه قد يطابق أكثر من المقصود في الاستجابات الكبيرة.

أي معيار لـ JSONPath يتبعه هذا المختبر؟

يتبع RFC 9535 الذي نشرته IETF في فبراير 2024، وهو أول معيار رسمي لـ JSONPath. تعمل غالبًا الاستعلامات المكتوبة لمكتبات أقدم، بما فيها المرشحات المحاطة بـ ?( )، أما التعابير البرمجية والدوال الخاصة بكل مكتبة فليست جزءًا من المعيار وتُرفض مع شرح.

كيف أحصل على آخر عنصر في مصفوفة باستخدام JSONPath؟

استخدم فهرسًا سالبًا: ‏$.items[-1] هو العنصر الأخير و$.items[-2] الذي قبله. وتعمل أيضًا شريحة ببداية سالبة، فيعيد $.items[-3:] آخر ثلاثة عناصر. الفهارس التي تتجاوز النهاية لا تعيد شيئًا بدلًا من إظهار خطأ.

ما المسار الموحّد؟

المسار الموحّد هو الموضع الدقيق الوحيد لتطابق، مكتوبًا بصيغة ثابتة يحددها RFC 9535، مثل $['store']['book'][0]['title']. تعرض كل نتيجة مسارها الموحّد، وهو مفيد للإشارة إلى قيمة في تقرير خطأ أو في تأكيد اختبار.

هل يمكنني استخدام التعابير النمطية في مرشح JSONPath؟

نعم، باستخدام match() وsearch(). يشترط match(@.code, 'A[0-9]+') أن تطابق السلسلة كلها النمط، بينما يجده search(@.name, 'smith') في أي موضع. تستخدم الأنماط I-Regexp، وهي مجموعة فرعية محمولة من التعابير النمطية، لذلك لا تُقبل اختصارات مثل \d والنظر إلى الأمام.

هل ما زلت عالقًا؟ اسأل عن مختبر JSONPath ويمكن لأي شخص يعرف الإجابة أن يجيب. لا حاجة إلى حساب.

أدوات ذات صلة

جميع أدوات المطورين
مدقق package.jsonافحص ملف package.json كما يقرؤه npm: الاسم والإصدار والترخيص والاعتماديات والصياغةفاحص وسم العنوان والوصف التعريفيطول العنوان والوصف التعريفي بالأحرف والبكسل، وأين تقطعهما Googleأرقام بطاقات ائتمان للاختبارأرقام بطاقات بيئة تجريبية من Stripe وRazorpay مع تاريخ انتهاء وCVV، وفاحص Luhnمختبر التعبيرات النمطيةاختبر التعبيرات النمطية في JavaScript مع تمييز مباشر وشرح بلغة واضحةمقارنة النصوصقارن نصّين جنبًا إلى جنب وشاهد كل سطر أُضيف أو حُذفمقارنة JSONقارن مستندين بصيغة JSON واعرض كل قيمة أُضيفت أو حُذفت أو تغيّرتمعاينة Open Graphالصق صفحة وشاهد بطاقة المشاركة على Facebook وLinkedIn وX وWhatsApp وSlackكثافة الكلمات المفتاحية وسهولة القراءةعدد الكلمات والعبارات وكثافتها ووقت القراءة ودرجة سهولة القراءة Flesch
هل كانت هذه الأداة مفيدة؟
Omnikit

مهام صغيرة تُنجز في متصفحك. مجانية وسريعة وخاصة. لا تُرفع الملفات أبدًا.

الملفات

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

المطورون

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

المال

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
الأدلةالأسئلةمن نحنكيف نتحققمكتبة القوانين (تجريبية)الخصوصيةالشروطالإفصاحاتصل بناMore: Exam practice (UGC NET Paper 1)يعمل في متصفحك. لا يُرفع أي شيء. © 2026 Omnikit (theomnikit.com)