logologo
البدء
الدليل
التطوير
الإضافات
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
البدء
الدليل
التطوير
الإضافات
API
logologo
سير العمل
نظرة عامة
بدء سريع

المشغلات

نظرة عامة
أحداث جدول البيانات
المهام المجدولة
حدث ما قبل الإجراء
حدث ما بعد الإجراء
حدث الإجراء المخصص
الموافقة
Webhook

العقدة

نظرة عامة

AI

LLM

التحكم في التدفق

الشرط
تفرع متعدد الشروط
التكرار
المتغيرات
تفرع متوازي
استدعاء سير العمل
مخرجات التدفق
ربط متغيرات JSON
تأخير
إنهاء

حساب

حساب
حساب التاريخ
حساب JSON

عمليات البيانات

إضافة بيانات
تحديث البيانات
استعلام البيانات
حذف البيانات
عمليات SQL

معالجة يدوية

معالجة يدوية
الموافقة
نسخة كربونية

أنواع ممتدة

طلب HTTP
سكريبت JavaScript
إشعار
إرسال بريد إلكتروني
استجابة
رسالة الاستجابة
المتغيرات
سجل التنفيذ
إدارة الإصدارات
خيارات متقدمة

تطوير الإضافات

نظرة عامة
توسيع أنواع المشغلات
توسيع أنواع العقد
مرجع API
Previous Pageحساب التاريخ
Next Pageإضافة بيانات
إشعار الترجمة بالذكاء الاصطناعي

تمت ترجمة هذه الوثائق تلقائيًا بواسطة الذكاء الاصطناعي.

#حساب JSON

This feature is provided by the plugin «سير العمل: حساب JSON»

#مقدمة

تتيح هذه العقدة، بالاعتماد على محركات حساب JSON مختلفة، إجراء عمليات حسابية أو تحويلات هيكلية على بيانات JSON المعقدة التي تنتجها العقد السابقة، وذلك لتسهيل استخدامها من قبل العقد اللاحقة. على سبيل المثال، يمكن استخدامها لتحويل نتائج عمليات SQL وطلبات HTTP إلى القيم والتنسيقات المتغيرة المطلوبة للعقد التالية.

#إنشاء العقدة

في واجهة إعدادات سير العمل، انقر على زر الإضافة ("+") في المسار لإضافة عقدة "حساب JSON":

إنشاء العقدة

ملاحظة

عادةً ما يتم إنشاء عقدة حساب JSON أسفل عقد البيانات الأخرى لتحليلها.

#إعدادات العقدة

#محرك التحليل

تدعم عقدة حساب JSON صيغًا مختلفة عبر محركات تحليل متنوعة. يمكنك الاختيار بناءً على تفضيلاتك وميزات كل محرك. حاليًا، يتم دعم ثلاثة محركات تحليل:

  • JMESPath
  • JSONPath Plus
  • JSONata

اختيار المحرك

#مصدر البيانات

يمكن أن يكون مصدر البيانات نتيجة لعقدة سابقة أو كائن بيانات في سياق سير العمل. عادةً ما يكون كائن بيانات غير مهيكل داخليًا، مثل نتيجة عقدة SQL أو نتيجة عقدة طلب HTTP.

مصدر البيانات

ملاحظة

عادةً ما تكون كائنات البيانات الخاصة بالعقد المتعلقة بـ المجموعة مهيكلة عبر معلومات إعدادات المجموعة، وعمومًا لا تحتاج إلى تحليل بواسطة عقدة حساب JSON.

#تعبير التحليل

تعبيرات تحليل مخصصة بناءً على متطلبات التحليل ومحرك التحليل المختار.

تعبير التحليل

ملاحظة

توفر المحركات المختلفة صيغ تحليل متنوعة. لمزيد من التفاصيل، يرجى الرجوع إلى الوثائق الموجودة في الروابط.

منذ الإصدار v1.0.0-alpha.15، تدعم التعبيرات استخدام المتغيرات. يتم تحليل المتغيرات مسبقًا قبل تنفيذ المحرك المحدد، حيث يتم استبدالها بقيم نصية محددة وفقًا لقواعد قوالب السلاسل النصية، ثم يتم دمجها مع السلاسل النصية الثابتة الأخرى في التعبير لتشكيل التعبير النهائي. هذه الميزة مفيدة جدًا عند الحاجة إلى بناء تعبيرات ديناميكيًا، على سبيل المثال، عندما يتطلب بعض محتوى JSON مفتاحًا ديناميكيًا للتحليل.

#تعيين الخصائص

عندما تكون نتيجة الحساب كائنًا (أو مصفوفة من الكائنات)، يمكنك تعيين الخصائص المطلوبة كمتغيرات فرعية من خلال تعيين الخصائص، لاستخدامها بواسطة العقد اللاحقة.

تعيين الخصائص

ملاحظة

بالنسبة لنتائج الكائنات (أو مصفوفات الكائنات)، إذا لم يتم إجراء تعيين للخصائص، فسيتم حفظ الكائن بأكمله (أو مصفوفة الكائنات) كمتغير واحد في نتيجة العقدة، ولن تتمكن من استخدام قيم خصائص الكائن مباشرة كمتغيرات.

#مثال

لنفترض أن البيانات المطلوب تحليلها تأتي من عقدة SQL سابقة استُخدمت للاستعلام عن البيانات، وكانت نتيجتها مجموعة من بيانات الطلبات:

[
  {
    "id": 1,
    "products": [
      {
        "id": 1,
        "title": "Product 1",
        "price": 100,
        "quantity": 1
      },
      {
        "id": 2,
        "title": "Product 2",
        "price": 120,
        "quantity": 2
      }
    ]
  },
  {
    "id": 2,
    "products": [
      {
        "id": 3,
        "title": "Product 3",
        "price": 130,
        "quantity": 1
      },
      {
        "id": 4,
        "title": "Product 4",
        "price": 140,
        "quantity": 2
      }
    ]
  }
]

إذا أردنا تحليل وحساب السعر الإجمالي لكل طلب من الطلبين في البيانات، وتجميعها مع معرف الطلب المقابل في كائن لتحديث السعر الإجمالي للطلب، يمكننا إعداد ذلك على النحو التالي:

مثال - إعداد تحليل SQL

  1. اختر محرك تحليل JSONata؛
  2. اختر نتيجة عقدة SQL كمصدر للبيانات؛
  3. استخدم تعبير JSONata التالي للتحليل: $[0].{"id": id, "total": products.(price * quantity)}؛
  4. اختر تعيين الخصائص لتعيين id و total كمتغيرات فرعية؛

نتيجة التحليل النهائية هي كما يلي:

[
  {
    "id": 1,
    "total": 340
  },
  {
    "id": 2,
    "total": 410
  }
]

بعد ذلك، يمكنك التكرار عبر مصفوفة الطلبات الناتجة لتحديث السعر الإجمالي للطلبات.

تحديث السعر الإجمالي للطلب المقابل