فنون تعامل جافاسكربت مع JSON: التحويل، الفلاتر، والتواريخ
في عالم تطوير الويب، يشكل لغة JSON (JavaScript Object Notation) أحد أهم وسائل تبادل البيانات بين الخوادم والعملاء. يُعتبر JSON تنسيقًا خفيفًا وسهل القراءة، ويعتمد على تمثيل البيانات في هيكل مبني على أشكال الكائنات في جافاسكربت. دعنا نستكشف عميقًا تلك الصيغة والتوابع المرتبطة بها في جافاسكربت.
JSON يُستخدم لتبادل البيانات بين الخوادم والعملاء ولتخزين تلك البيانات بشكل منظم. يتكون JSON من أزواج المفتاح والقيمة، حيث يُمكن تضمين كائن آخر كقيمة، مما يسمح بإنشاء هياكل بيانات معقدة.
-
استخراج وقراءة بيانات IP باستخدام PHP16/02/2024
-
فهم أساسيات واجهة الوعود في جافاسكربت24/01/2024
-
تعامل مكتبة Carbon مع شهر فبراير في PHP22/03/2024
على سبيل المثال:
json{
"اسم": "جون",
"العمر": 30,
"مدينة": "نيويورك",
"مهنة": "مطور الويب",
"مهارات": ["جافاسكربت", "HTML", "CSS"]
}
للتعامل مع JSON في جافاسكربت، هناك توابع مدمجة تُسهل عمليات التحويل والوصول إلى البيانات. على سبيل المثال، يُمكن استخدام JSON.stringify()
لتحويل كائن جافاسكربت إلى سلسلة JSON، وJSON.parse()
لتحويل سلسلة JSON إلى كائن جافاسكربت.
javascript// تحويل كائن جافاسكربت إلى سلسلة JSON
var person = {
name: "جون",
age: 30,
city: "نيويورك",
job: "مطور الويب",
skills: ["جافاسكربت", "HTML", "CSS"]
};
var jsonString = JSON.stringify(person);
console.log(jsonString);
// تحويل سلسلة JSON إلى كائن جافاسكربت
var jsonText = '{"اسم": "جون", "العمر": 30, "مدينة": "نيويورك", "مهنة": "مطور الويب", "مهارات": ["جافاسكربت", "HTML", "CSS"]}';
var parsedObject = JSON.parse(jsonText);
console.log(parsedObject);
هذه التوابع تساعد في تسهيل التفاعل مع البيانات المرسلة أو المستلمة كسلاسل JSON، وتُسهم في تحقيق تجربة تطوير فعالة ومستدامة.
باستخدام هذه الأدوات والتوابع، يمكن لمطوري الويب بسهولة تحويل البيانات من وإلى صيغة JSON والتلاعب فيها بشكل فعال، مما يعزز تطوير الويب ويسهم في بناء تطبيقات قوية ومستدامة.
المزيد من المعلومات
بالطبع، سنستكمل رحلتنا في عالم JSON وتوابع جافاسكربت المرتبطة بها. فيما يلي توسيع للمعلومات حول كيفية التعامل مع JSON في جافاسكربت:
-
التعامل مع كائنات JSON متداخلة:
يُمكن لبيانات JSON أن تكون متداخلة، حيث يمكن أن يكون لقيم المفاتيح قيم من نوع كائن آخر. يُستخدم الاستدعاء المتداخل للتلاعب بالبيانات بهذا النوع.javascriptvar nestedJSON = { "person": { "name": "جون", "age": 30, "address": { "city": "نيويورك", "zipCode": "10001" } } }; console.log(nestedJSON.person.name); // جون console.log(nestedJSON.person.address.city); // نيويورك
-
التحكم في التحويل:
JSON.stringify()
تأخذ وسيطة ثانية وظيفة للتحكم في التحويل. يُمكن تمرير مصفوفة من السلاسل أو وظيفة تحويل لتعديل سلوك التحويل.javascriptvar person = { name: "جون", age: 30, skills: ["جافاسكربت", "HTML", "CSS"] }; function replacer(key, value) { if (key === "age") { return undefined; // يخفي العمر } return value; } var jsonString = JSON.stringify(person, replacer); console.log(jsonString);
-
التحقق من صحة الJSON:
يمكن استخدامJSON.parse()
مع وظيفة فلترة للتحقق من صحة البيانات المحللة.javascriptvar invalidJSON = '{"name": "جون", "age": 30, "city": "نيويورك",}'; try { var parsedObject = JSON.parse(invalidJSON); console.log(parsedObject); } catch (error) { console.error("JSON غير صحيح:", error.message); }
-
التعامل مع التواريخ:
JSON لا يدعم تخزين التواريخ بشكل مباشر، لكن يُمكن استخدام وظائف مخصصة أثناء التحويل للتعامل مع التواريخ.javascriptvar person = { name: "جون", birthdate: new Date(1990, 5, 15) }; function dateReviver(key, value) { if (key === "birthdate") { return new Date(value); } return value; } var jsonString = '{"name": "جون", "birthdate": "1990-06-15T00:00:00.000Z"}'; var parsedObject = JSON.parse(jsonString, dateReviver); console.log(parsedObject.birthdate.toLocaleDateString()); // تحويل التاريخ إلى سلسلة نصية
بهذه الطريقة، يُمكن للمطورين الاستفادة القصوى من قدرات JSON في جافاسكربت لتبادل البيانات بشكل فعال وللتلاعب بتلك البيانات بشكل مرن. يشكل فهم تلك الجوانب المتقدمة للتعامل مع JSON جزءًا أساسيًا من مهارات مطوري الويب.