
فورك من JSONPath من http://goessner.net/articles/JsonPath/
(انظر أيضًا تراخيص التبعيات التطويرية)
تحليل البيانات وتحويلها واستخراجها بشكل انتقائي من مستندات JSON (وكائنات JavaScript).
تعمل jsonpath-plus على توسيع المواصفات الأصلية لإضافة بعض
العوامل الإضافية وتوضح بعض السلوكيات التي لم تحددها المواصفات
الأصلية.
جرّب العرض التوضيحي في المتصفح أو Runkit (Node).
يرجى ملاحظة: هذا المشروع لا يحظى حاليًا بصيانة نشطة. قد نقبل طلبات سحب موثقة جيدًا أو بعض التحديثات البسيطة، ولكننا لا ننوي إجراء إصلاحات أو إضافة ميزات جديدة بأنفسنا.
^ للحصول على العنصر الأب لعنصر مطابق~ للحصول على أسماء الخصائص للعناصر المطابقة (كمصفوفة)@null()، @boolean()، @number()، @string()، @array()، @object()@integer()@scalar() (الذي يقبل أيضًا undefined و
الأعداد غير المنتهية عند الاستعلام عن كائنات JavaScript بالإضافة إلى جميع الأنواع الأساسية غير الكائنية وغير الدالية)@other() يمكن استخدامه مع otherTypeCallback معرف من قبل المستخدم@undefined()، @function()، @nonFinite())@path/@parent/@property/@parentProperty/@root محددات مختصرة داخل عوامل التصفية` لهروب التسلسل المتبقي@['...']/?@['...'] لهروب الأحرف الخاصة داخل
أسماء الخصائص في عوامل التصفية$.. (الحصول على جميع المكونات الأبوية)تتمتع jsonpath-plus بأداء ثابت مع مجموعات البيانات الكبيرة والصغيرة مقارنة بمكتبات الاستعلام عن JSON الأخرى وفقًا لـ json-querying-performance-testing. يمكنك التحقق من هذه النتائج من خلال تشغيل المشروع بنفسك وإضافة المزيد من حالات الأداء.
npm install jsonpath-plus
## الإعداد
### Node.js```js
const {JSONPath} = require('jsonpath-plus');
const result = JSONPath({path: '...', json});
لاستخدام المتصفح، يمكنك تضمين dist/index-browser-umd.cjs مباشرةً؛ لا
حاجة لأي سحر من Browserify:```html
### ESM (المتصفحات الحديثة)
يمكنك أيضًا استخدام ES6 Module imports (للمتصفحات الحديثة):```html
<script type="module">
import {
JSONPath
} from './node_modules/jsonpath-plus/dist/index-browser-esm.js';
const result = JSONPath({path: '...', json: {}});
</script>
أو إذا كنت تقوم بتجميع JavaScript الخاص بك (مثلًا مع Rollup)، فما عليك سوى استخدام،
مع ملاحظة أن mainFields
يجب أن يتضمن browser لإصدارات المتصفح (بالنسبة لـ Node، الإعداد الافتراضي، الذي
يفحص module، يجب أن يكون مناسبًا):```js
import {JSONPath} from 'jsonpath-plus';
const result = JSONPath({path: '...', json});
## الاستخدام
التوقيع الكامل المتاح هو:```
const result = JSONPath([options,] path, json, callback, otherTypeCallback);
يمكن التعبير عن الوسائط path وjson وcallback وotherTypeCallback بدلاً من ذلك (إلى جانب أي خصائص أخرى متاحة) في options.
لاحظ أن result سيحتوي على جميع العناصر التي تم العثور عليها (مغلفة اختياريًا في مصفوفة)، بينما يمكن استخدام callback إذا كنت ترغب في تنفيذ عملية معينة عند اكتشاف كل عنصر، حيث يتم تنفيذ دالة الاستدعاء من 0 إلى N مرة اعتمادًا على عدد العناصر المستقلة التي سيتم العثور عليها في النتيجة. راجع الوثائق أدناه لمزيد من المعلومات حول الوسائط المتاحة لـ JSONPath.
انظر أيضًا وثائق API.
الخصائص التي يمكن توفيرها في كائن الخيارات أو في طريقة التقييم (كوسيطة أولى) تشمل: