درود دوستان! خیلی وقتها اطلاعاتی توی برنامه داریم که میخوایم توی برنامههای دیگه در دسترس باشه. مثلاً آبجکت user رو در نظر بگیرید که شامل اطلاعاتی از کاربر هست:
const user = { name: 'Emily', age: 4, favorites: ['Reading', 'Walking'], };
حالا میخوایم این اطلاعات رو به یک برنامه دیگه (مثلاً برنامه سمتِ سرور که با PHP نوشته شده) ارسال و اونجا اون رو بررسی کنیم. اما فرمت و نحوه نوشتن این آبجکت برای بقیه زبانها ناشناخته هست. برای مثال چنین آبجکتی توی PHP تقریباً به این صورت نوشته میشه:
$user = [ "name" => "Emily", "age" => 4, "favorites" => ["Reading", "Walking"], ];
خب ما چطوری میتونیم اطلاعاتی داشته باشیم که توی همه زبانها خوانا باشه؟ باید یک فرمت استاندارد وجود داشته باشه که برای همه زبانها شناخته شده و خوانا باشه. جواب، فرمت JSON هست 😉
توی این قسمت میخوایم یاد بگیریم که:
- جیسان (JSON) چیه؟
- جیسان چه شکلیه؟
- چطوری اطلاعات رو به جیسان تبدیل کنیم؟
- چه نوعهای دادهای رو میشه به جیسان تبدیل کنیم؟
- چطوری رشتهٔ جیسان رو تفسیر کنیم؟
- آبجکتها و تبدیل به جیسان بهصورت دلخواه
جیسان (JSON) چیه؟ 🤔
JSON (جیسان) یک فرمت استاندارد برای تبادل اطلاعات هست. هر چند این تبادل اطلاعات معمولاً از یک زبان به یک زبان دیگه هست، فرمت جیسان طوری هست که برای انسان هم خوانا باشه.
JSON مخفف JavaScript Object Notation هست. این فرمت به صورت یک رشتهٔ متنی هست که از ساختار جاوااسکریپت به ارث برده شده و به همین دلیل ساختار اون شباهت زیادی به آبجکتهای جاوااسکریپتی داره. اما در حال حاضر کاملاً مستقل از جاوااسکریپت هست و تقریباً همه زبانهای برنامهنویسی توانایی کار با فرمت جیسان رو دارن. جیسان به دلیل حالت رشتهای بودنش تقریباً قابل انتقال به هر زبانی هست.
جیسان چه شکلیه؟
رشتهٔ زیر یک رشتهٔ جیسان هست:
{"name":"Emily"}
همونطور که احتمالاً تشخیص دادین، این حالت رشتهای یک آبجکت هست که یک پراپرتی به اسم name داره با مقدار Emily. اما خب توی یک برنامه معمولاً با رشتههای جیسان پیچیدهتری سر و کار داریم.