تخطي إلى المحتوى
SPCX Tools

مختبر JSONPath

قيّم واختبر تعبيرات JSONPath على بيانات JSON الخاصة بك فوراً في متصفحك.

تعمل محلياً — ملفاتك لا تغادر جهازك أبداً

جاري تحميل الأداة…

كيفية استخدام مختبر JSONPath

  1. 1الصق أو اكتب بيانات JSON في لوحة الإدخال اليسرى، أو انقر على "نموذج" لتحميل بيانات تجريبية.
  2. 2أدخل تعبير JSONPath في حقل الإدخال أعلى الصفحة.
  3. 3انقر على أي من أزرار الأمثلة السريعة أسفل حقل الإدخال لرؤية أنماط الاستعلام الشائعة عملياً.
  4. 4شاهد النتائج المطابقة، وإجمالي عدد التطابقات، والمسارات الدقيقة للعناصر المطابقة في اللوحة اليمنى.

أداة اختبار JSONPath سريعة وخاصة

عند التعامل مع بيانات JSON ضخمة أو شديدة التداخل، قد يكون استخراج المعلومات الدقيقة التي تحتاجها أمراً شاقاً. توفر أداة اختبار JSONPath هذه بيئة حية لكتابة استعلاماتك واختبارها وتصحيح أخطائها. وبمجرد كتابة التعبير، تقوم الأداة بتقييمه فوراً ومطابقته مع بيانات JSON، لتعرض لك القيم المستخرجة والمسارات الدقيقة التي وُجدت فيها هذه القيم.

نظراً لأن أداة تقييم JSONPath هذه تعمل بالكامل في المتصفح (client-side)، فإن جميع عمليات المعالجة تتم محلياً على جهازك. لا تُرسل بيانات JSON الخاصة بك إلى أي خادم على الإطلاق. مما يعني أنه يمكنك بأمان لصق بيانات API الخاصة ببيئة الإنتاج، أو البيانات المُصدّرة من قواعد البيانات، أو ملفات الإعدادات الحساسة دون القلق بشأن تسريب البيانات أو انتهاك الخصوصية.

الميزات الأساسية للمطورين

  • تقييم مباشر: تُحدَّث النتائج فوراً أثناء تعديلك لبيانات JSON أو الاستعلام. لا حاجة للنقر على زر إرسال أو انتظار استجابة من الخادم.
  • تحليل آمن: تستخدم الأداة محرك تقييم آمن (eval: 'safe') لمعالجة استعلاماتك، مما يمنع تنفيذ الأكواد الضارة مع الحفاظ على الدعم الكامل لتعبيرات التصفية المعقدة.
  • استخراج المسارات: بالإضافة إلى عرض القيم المتطابقة، تُولّد الأداة المسارات المطلقة لكل تطابق. يعد هذا مفيداً للغاية إذا كنت بحاجة إلى تحديث تلك العُقد المحددة برمجياً في وقت لاحق.
  • أمثلة جاهزة: إذا كنت حديث العهد بهذه الصيغة، يمكنك تحميل نموذج لبيانات متجر كتب وتجربة عدة تعبيرات مكتوبة مسبقاً لترى كيف تعمل المُعاملات المختلفة.

كيفية كتابة استعلام JSONPath

يستخدم JSONPath صيغة محددة للتنقل عبر كائنات ومصفوفات JSON. إذا كنت ترغب في اختبار منطق تعبيرات JSONPath، فمن المفيد فهم المعاملات الأساسية:

  • $ يمثل الكائن أو المصفوفة الجذر. يبدأ كل تعبير JSONPath مطلق بهذا الرمز.
  • @ يمثل العقدة الحالية التي تتم معالجتها. يُستخدم بشكل أساسي داخل تعبيرات التصفية.
  • . أو [] هي معاملات فرعية تُستخدم لتحديد الخصائص. على سبيل المثال، $.store.book و $['store']['book'] يؤديان نفس الغرض.
  • .. هو معامل النزول العودي. يبحث عن مفتاح معين في أي مكان داخل شجرة JSON، بغض النظر عن مدى عمق تداخله (على سبيل المثال، $..price يعثر على جميع الأسعار).
  • * هو حرف بدل (wildcard) يطابق جميع العناصر في الكائن أو المصفوفة. على سبيل المثال، $.store.* يحدد كل شيء موجود مباشرة داخل كائن store.
  • [?()] يُطبق تعبير تصفية. يمكنك استخدام المعاملات المنطقية القياسية بداخله. على سبيل المثال، $..book[?(@.author == 'Nigel Rees')] سيعثر على جميع الكتب التي كتبها هذا المؤلف المحدد.
  • [start:end:step] يتيح لك اقتطاع المصفوفات، بشكل مشابه للغة Python. $.store.book[-1:] يحدد الكتاب الأخير في المصفوفة.

حالات الاستخدام الشائعة

تطوير وتصحيح واجهات برمجة التطبيقات (API). غالبًا ما تُرجع واجهات برمجة التطبيقات الحديثة مثل REST و GraphQL بيانات JSON ضخمة. بدلًا من كتابة كود مؤقت لتحليل وفحص الاستجابة، يمكنك لصق البيانات في أداة JSONPath هذه عبر الإنترنت للتحقق سريعًا من صحة هيكل البيانات وأن استعلاماتك تستخرج الحقول الصحيحة.

الاختبار الآلي. عند كتابة اختبارات التكامل أو الاختبارات الشاملة (باستخدام أدوات مثل Postman أو RestAssured أو Playwright)، غالبًا ما تحتاج إلى التأكد من وجود قيم معينة في استجابة JSON. يساعدك استخدام أداة اختبار jsonpath في تحسين نص الاستعلام قبل كتابته بشكل ثابت في حزمة الاختبار الخاصة بك.

استخراج البيانات وتحويلها. إذا كنت تقوم بترحيل البيانات أو بناء مسارات ETL (استخراج، تحويل، تحميل)، فغالبًا ما تحتاج إلى عزل مصفوفات أو كائنات معينة. يمكنك استخدام هذه الأداة لمعرفة المسارات الدقيقة المطلوبة لاستخراج بياناتك المستهدفة. إذا كانت بياناتك المصدرية بتنسيق XML، فيمكنك أولًا استخدام أداة تحويل XML إلى JSON، وإذا كنت بحاجة إلى تنسيق البيانات المصغرة قبل فحصها، فيمكن أن تساعدك أداة تنسيق JSON. يمكنك أيضًا استخدام أداة مقارنة JSON لمعرفة كيف تتغير بياناتك قبل التحويلات وبعدها.

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

ما هو JSONPath؟
JSONPath هي لغة استعلام لبيانات JSON، على غرار استخدام XPath مع XML. تتيح لك تحديد واستخراج عُقد أو مصفوفات أو قيم محددة من بنية JSON معقدة باستخدام تعبير نصي موجز.
هل بيانات JSON الخاصة بي آمنة؟
نعم. تعمل هذه الأداة بالكامل محليًا داخل متصفحك. لا يتم رفع بيانات JSON أو استعلاماتك إلى أي خادم على الإطلاق، مما يجعلها آمنة تمامًا لاختبار استجابات API الحساسة، أو ملفات الإعدادات، أو البيانات الخاصة.
كيف يمكنني تصفية البيانات بناءً على شرط معين؟
يمكنك استخدام تعبير تصفية بالصيغة [?(@.property == 'value')]. على سبيل المثال، سيعرض $.store.book[?(@.price < 10)] جميع الكتب في مصفوفة store التي يقل سعرها عن 10.
هل يمكنني رؤية الموقع الدقيق للعناصر المتطابقة؟
نعم. أسفل مربع النتائج الرئيسي، يوجد قسم "Paths" قابل للتوسيع. سيؤدي فتحه إلى عرض مسار JSONPath الدقيق والمطلق لكل عنصر متطابق في مجموعة النتائج.
لماذا يظهر لي خطأ "Invalid JSON"؟
يتطلب JSON تنسيقًا صارمًا. تأكد من إحاطة جميع المفاتيح والقيم النصية بعلامات اقتباس مزدوجة (وليس مفردة)، وعدم وجود فواصل زائدة بعد العنصر الأخير في الكائن أو المصفوفة.
ما هي مواصفات JSONPath التي تستخدمها هذه الأداة؟
تستخدم هذه الأداة مكتبة jsonpath-plus الشهيرة، والتي تدعم مواصفات JSONPath الأصلية بالكامل مع إضافة بعض الميزات الموسعة والآمنة للاستعلامات الأكثر تعقيدًا. كما أنها تقيّم التعبيرات بأمان دون استخدام دالة eval() في JavaScript.