استعلام JSON بـ JSONPath

استعلم عن JSON بـ JSONPath: أحرف بدل وبحث تكراري وشرائح ومرشّحات مثل [?(@.price < 10)]. تتحدّث النتائج أثناء الكتابة. ليست صياغة jq.

أمثلة:
النتائج

‏$ هو الجذر؛ ‎.name أو ['name'] يختار عنصرًا فرعيًا؛ [0] عنصرًا من المصفوفة؛ [*] كل العناصر؛ .. يبحث على أي عمق؛ [?(@.price < 10)] للتصفية؛ [-1:] يأخذ العنصر الأخير.

يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.

أدوات ذات صلة

عرض الكل

ما هو استعلام JSON (JSONPath)؟

تقيّم أداة استعلام JSON تعابير JSONPath على JSON الخاص بك وتعرض كل قيمة مطابقة كمصفوفة JSON. تدعم أحرف البدل والبحث التكراري وشرائح المصفوفات وتعابير التصفية. ملاحظة: تستخدم صياغة JSONPath ($.store.book[*].title) وليس صياغة الأنابيب في jq.

كيفية استخدام استعلام JSON (JSONPath)

  1. الصق JSON في مربع مدخل JSON (أو انقر مثالًا يحمّل أيضًا بيانات نموذجية).
  2. اكتب تعبير JSONPath، مثل $..price.
  3. اقرأ القيم المطابقة في الناتج؛ وتُظهر التسمية عدد المطابقات.
  4. انسخ مصفوفة النتيجة بزر نسخ.

مثال

الإدخال
{"store":{"book":[{"title":"A","price":8},{"title":"B","price":12}]}}
Query: $.store.book[?(@.price < 10)].title
الإخراج
[
  "A"
]

متى تستخدم استعلام JSON (JSONPath)

استخدمه لاختبار تعابير JSONPath قبل استخدامها في أدوات تقبله (بوابات API وkubectl -o jsonpath في Kubernetes وأطر الاختبار والمراقبة). وإن احتجت ميزات jq مثل الأنابيب وmap وبناء الكائنات فاستخدم jq نفسه – فهي غير مدعومة. ولمسار واحد بعينه فباحث مسارات JSON أبسط.

كيف يعمل استعلام JSON (JSONPath)

تُقيَّم الاستعلامات بمكتبة jsonpath-plus (JSONPath لـ Goessner مع امتدادات). $ هو الجذر، و.name أو ['name'] يختار خاصية، و[0] فهرسًا، و[*] كل الأبناء، و.. يبحث في كل عمق، و[start:end] يقتطع المصفوفات (تُحسب الفهارس السالبة من النهاية)، و[?(…)] يصفّي مع @ للعنصر الحالي. وتعمل تعابير التصفية في المقيّم الآمن لـ jsonpath-plus، الذي يدعم المقارنات والعوامل المنطقية لكنه لا ينفّذ JavaScript عشوائيًا. والنتيجة دائمًا مصفوفة من المطابقات تُطبع بمسافتين بادئتين.

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

  • استخراج كل الأسعار أو المعرّفات من استجابة API
  • اختبار JSONPath لاختبارات API أو قواعد المراقبة
  • تصفية عناصر المصفوفة بشرط
  • تجربة استعلامات بأسلوب kubectl jsonpath

ملاحظة أمنية

كل شيء يعمل محليًا داخل متصفحك؛ الكود الذي تلصقه لا يُرفع إلى أي خادم.

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

هل هذا jq؟

لا. يستخدم JSONPath، وهي لغة استعلام مختلفة. أنابيب jq ودوالّه غير مدعومة.

لماذا النتيجة دائمًا مصفوفة؟

قد يطابق تعبير JSONPath أي عدد من القيم، لذا تُعاد كل المطابقات في مصفوفة.

هل يُرسَل JSON إلى خادم؟

لا، يعمل الاستعلام في متصفحك.

هل تفقد الأعداد الكبيرة دقتها هنا؟

نعم، تُقيَّم القيم أعدادًا في JavaScript، لذا قد تُقرَّب الأعداد الصحيحة فوق 2^53 في نتائج الاستعلام.

الخطوات التالية المقترحة

JSON إلى TypeScript
ولّد واجهات TypeScript أو أسماء أنواع مستعارة من عيّنة JSON، مع مفاتيح اختيارية واتحادات null وأنواع متداخلة تُستنتج من المصفوفات. مجاني وخاص.
JSON إلى Go Struct
حوّل JSON إلى هياكل Go بأسماء حقول مصدَّرة ووسوم json وأنواع مؤشرات لقيم null وomitempty اختياري. يعالج الكائنات والمصفوفات المتداخلة. مجاني.
JSON إلى Python
حوّل JSON إلى فئات dataclass أو TypedDict في Python مع تلميحات الأنواع وحقول Optional وفئات متداخلة معرّفة بترتيب الاعتماد. مجاني داخل المتصفح.
أداة التهريب وإلغائه
أداة واحدة لتهريب السلاسل أو إلغاء تهريبها لـ JSON وJavaScript وHTML وXML ومكونات URL والتعابير النمطية وسلاسل SQL وCSS ووسائط الصدفة.
JSON إلى XML
حوّل JSON إلى XML سليم البنية مع عنصر جذر قابل للضبط وسمات عبر مفاتيح "@_" وعناصر مكررة للمصفوفات وتصريح XML اختياري. مجاني.
XML إلى JSON
حوّل XML إلى JSON مع حفظ السمات تحت بادئة وعناصر مكررة كمصفوفات وتحليل اختياري للأرقام والقيم المنطقية وأخطاء صياغة واضحة. مجاني داخل المتصفح.

استكشف المزيد من الفئات