السلطان
  1. الرئيسية
  2. الأمثلة
  3. صيغ البيانات

تحليل وثيقة جسون وقراءة حقل منها ثم كتابتها من جديد

formats/json.sn
// تحليل وثيقة جسون وقراءة حقل منها ثم كتابتها من جديد.
استورد std.io.println;
استورد std.json.parse;
استورد std.json.stringify;
استورد std.json.value;

عرف الرئيسية(): عدد {
    دع المصدر: نص = "{\"name\":\"SultanC\",\"stage\":2}";
    طابق حلل_جسون(&المصدر) مع
    | نتيجة.خطأ(_) -> { اطبع_سطر("جسون غير صالح"); أرجع 1; }
    | نتيجة.نجح(الوثيقة) -> {
        طابق جذر_وثيقة_جسون(&الوثيقة) مع
        | قيمة_جسون.كائن(الموضع) -> {
            دع المفتاح: نص = "name";
            طابق قيمة_مفتاح_جسون(&الوثيقة, الموضع, &المفتاح) مع
            | اختياري.موجود(قيمة_جسون.سلسلة(الاسم)) -> { اطبع_سطر(الاسم); }
            | _ -> { اطبع_سطر("لا يوجد اسم"); };
        }
        | _ -> { اطبع_سطر("ليس كائنا"); };
        طابق جسون_إلى_نص(&الوثيقة) مع
        | نتيجة.نجح(المرمز) -> { اطبع_سطر(المرمز); }
        | نتيجة.خطأ(_) -> { أرجع 2; };
    };
    أرجع 0;
}

التشغيل

بالمفسر، دون ترجمة:

./build/sultanc run examples/ar/formats/json.sn

أو ترجمه إلى ملف تنفيذي:

./build/sultanc examples/ar/formats/json.sn -o build/example && ./build/example

المصدر على GitHub   كل الأمثلة