تمت كتابة هذه المقالة بواسطة محرر Downcodes لشرح بالتفصيل الطرق المختلفة لتحويل بيانات JSON إلى صفائف في JavaScript. في تطوير الويب، غالبًا ما نحتاج إلى معالجة بيانات JSON التي تم الحصول عليها من جانب الخادم وتحويلها إلى مصفوفة JavaScript للعمليات اللاحقة. ستوفر المقالة مناقشات متعمقة حول نظرة عامة على JSON، وطريقة JSON.parse، وعبور كائنات JSON لإنشاء المصفوفات، ومعالجة بيانات JSON المتداخلة، كما ستوفر أمثلة على التعليمات البرمجية لمساعدة القراء على إتقان مهارات تحويل بيانات JSON بسرعة وتحسين كفاءة التطوير.
في برامج JavaScript، يعد تحويل بيانات JSON إلى صفائف عملية شائعة، خاصة عند معالجة البيانات التي يتم إرجاعها بواسطة واجهات برمجة تطبيقات الويب. سوف تتعمق هذه المقالة في عدة طرق لتحويل بيانات JSON إلى مصفوفات، واختيار طريقة التحويل الأكثر ملاءمة مع الأخذ في الاعتبار بنية البيانات والاستخدام المستهدف. خاصة بالنسبة للتحويل بين كائنات ومصفوفات JSON، سنركز على استخدام طريقة JSON.parse لتحليل سلاسل JSON.
JSON (JavaScript Object Notation) هو تنسيق تبادل بيانات خفيف الوزن يسهل قراءته وكتابته، كما يسهل على الأجهزة تحليله وإنشاؤه. في JavaScript، يُستخدم JSON غالبًا لوصف البيانات الموجودة في بنية كائن أو مصفوفة. يتيح تحويل بيانات JSON إلى مصفوفات للمطورين اجتياز البيانات ومعالجتها بسهولة أكبر، خاصة عند إجراء ربط البيانات أو عرض البيانات أو معالجة خوارزمية معينة.
يمكن تمثيل بيانات JSON ككائنات أو صفائف. يتم تمثيل الكائنات كمجموعات من أزواج المفاتيح/القيمة، بينما يتم تمثيل المصفوفات كمجموعات مرتبة من القيم. يعد فهم هذين الهيكلين الأساسيين لـ JSON أمرًا بالغ الأهمية لعمليات التحويل اللاحقة.
تحويل JSON إلى صفائف يجعل معالجة البيانات مرنة. في JavaScript، توفر المصفوفات عددًا كبيرًا من الأساليب لتنفيذ عمليات مثل اجتياز العناصر وتصفيتها وفرزها، وهو أمر مهم جدًا لمعالجة البيانات وعرضها بكفاءة.
طريقة JSON.parse هي الطريقة القياسية لتحويل سلسلة JSON مرة أخرى إلى كائن أو مصفوفة JavaScript. هذه الطريقة مفيدة جدًا، خاصة عند معالجة سلاسل تنسيق JSON المستلمة من الخادم.
Let jsonString = '{name:John, age:30, city:New York}';
Let jsonObj = JSON.parse(jsonString);
في هذا المثال، يقوم الأسلوب JSON.parse بتحويل سلسلة بتنسيق JSON إلى كائن JavaScript.
إذا كانت سلسلة JSON تمثل مصفوفة، فسيقوم JSON.parse أيضًا بتحويلها مباشرةً إلى مصفوفة JavaScript.
Let jsonArrayString = '[Apple, Banana, Cherry]';
Let jsonArray = JSON.parse(jsonArrayString);
هذا الأسلوب مناسب للتحويل المباشر من سلسلة JSON إلى المصفوفة.
في بعض الأحيان، نحتاج إلى تحويل جميع قيم كائن JSON إلى مصفوفة. عند هذه النقطة، يمكنك استخدام أساليب Object.keys أو Object.values أو Object.entries لاجتياز كائن JSON وإنشاء مصفوفة حسب الحاجة.
Let jsonObject = { firstName: John, lastName: Doe, age: 30 };
Let valueArray = Object.values(jsonObject);
تقوم طريقة Object.values باستخراج جميع القيم الموجودة في كائن JSON مباشرةً وتجعلها عناصر في مصفوفة. هذه الطريقة مناسبة للسيناريوهات التي تهتم فيها فقط بقيمة الكائن.
يسمح الاجتياز بمزيد من المرونة في بناء المصفوفات، خاصة عندما تحتاج إلى استخراج معلومات محددة من كائن JSON أو إجراء نوع من التحويل.
دع customArray = []؛
لـ (دع المفتاح في jsonObject) {
إذا (jsonObject.hasOwnProperty(key)) {
customArray.push(${key}: ${jsonObject[key]});
}
}
يسمح هذا الأسلوب للمطور بالتحكم في عملية بناء المصفوفة، بما في ذلك اختيار المفتاح والقيمة وأي منطق تحويل.
في التطوير الفعلي، غالبًا ما نواجه هياكل بيانات JSON متداخلة، ويتطلب الأمر اهتمامًا خاصًا عند معالجة هذه البيانات.
بالنسبة للبنيات المتداخلة البسيطة، يمكنك استخدام طريقة JSON.parse مباشرة ثم العمل على البيانات التي تم تحليلها حسب الحاجة.
Let NestedJsonString = '{students:[{name:John,age:18},{name:Jane,age:19}]}';
Let NestedObj = JSON.parse(nestedJsonString);
السماح للطلاب Array = NestedObj.students؛
بالنسبة لهذه البنية، نقوم أولاً بتحليل سلسلة JSON بأكملها ثم نصل إلى الخصائص المتداخلة مباشرةً للحصول على المصفوفة المطلوبة.
بالنسبة للتداخل الأكثر تعقيدًا أو المواقف التي تتطلب معالجة معينة، قد تكون هناك حاجة إلى مجموعة من طرق التحويل.
Let complexNestedObj = { school: { name: Central High، الطلاب: [ {name: John، age: 18}، {name: Jane، age: 19} ] } };
السماح للطلاب DetAIlsArray = complexNestedObj.school.students.map(student => ${student.name} is ${student.age} سنة.);
في هذا المثال، نستخدم طريقة الخريطة لإجراء معالجة محددة على كل كائن في مصفوفة الطالب المتداخلة، وأخيرًا نحصل على مصفوفة جديدة تصف تفاصيل الطالب.
في JavaScript، يعد تحويل بيانات JSON إلى مصفوفة مهمة أساسية وشائعة. يمكن أن يساعد فهم طرق التحويل المختلفة وإتقانها المطورين في التعامل مع سيناريوهات البيانات المختلفة بمرونة وكفاءة. يعتمد اختيار الطريقة المناسبة على بنية البيانات الأصلية وأهداف التحويل. من المهم أن تحافظ دائمًا على التعليمات البرمجية الخاصة بك واضحة وفعالة، خاصة عند التعامل مع البيانات المعقدة أو في التطبيقات الحساسة للأداء.
بشكل عام، يوفر التابع JSON.parse طريقة بسيطة ومباشرة لمعالجة سلاسل JSON. بالنسبة لكائنات JSON، يمكن إجراء الاجتياز والتحويل بسهولة باستخدام الأساليب الثابتة لفئة الكائن. بالنسبة لهياكل البيانات المتداخلة، فإن استخدام مجموعة معقولة من هذه الأساليب الأساسية يمكن أن يحل معظم احتياجات التحويل. في التطوير الفعلي، يعد فهم بنية البيانات وتوضيح الأهداف هي مفاتيح اختيار أفضل الممارسات.
1. كيفية تحويل بيانات json إلى صفيف في برنامج جافا سكريبت؟ في برنامج جافا سكريبت، يمكنك استخدام الدالة JSON.parse() لتحويل بيانات json إلى مصفوفة. تأخذ هذه الوظيفة بيانات json كمعلمة وترجع كائن الصفيف المقابل. على سبيل المثال:
var jsonData = '{name:John, age:30, city:New York}';var jsonArray = JSON.parse(jsonData);console.log(jsonArray);في الكود أعلاه، jsonData عبارة عن سلسلة بتنسيق json، والتي يتم تحويلها إلى كائن مصفوفة من خلال وظيفة JSON.parse() ويتم إخراجها أخيرًا في وحدة التحكم.
2. كيفية معالجة بيانات json التي تحتوي على كائنات json متعددة وتحويلها إلى مصفوفة؟ إذا كانت بيانات json المراد معالجتها تحتوي على كائنات json متعددة، فيمكنك أولاً وضع كائنات json هذه في مصفوفة، ثم استخدام الدالة JSON.parse() لتحويل المصفوفة بأكملها إلى مصفوفة جافا سكريبت. على سبيل المثال:
var jsonData = '[{name:John, age:30, city:New York}, {name:Jane, age:25, city:London}]';var jsonArray = JSON.parse(jsonData);console.log( jsonArray);في الكود أعلاه، jsonData عبارة عن سلسلة تحتوي على مصفوفة json مكونة من كائنين json، والتي يتم تحويلها إلى كائن مصفوفة javascript من خلال وظيفة JSON.parse() وإخراجها في وحدة التحكم.
3. كيفية التعامل مع المصفوفات المتداخلة في صفائف json وتحويلها إلى صفائف جافا سكريبت؟ إذا كانت هناك صفائف متداخلة في صفيف json، فيمكنك استخدام المعالجة العودية. قم أولاً بتحويل كل عنصر في المصفوفة المتداخلة إلى مصفوفة جافا سكريبت قبل إضافة المصفوفة المتداخلة بأكملها كعنصر واحد إلى المصفوفة الأصلية. على سبيل المثال:
var jsonData = '[{name:John, hobbies:[read, Swimming, Running]}, {name:Jane, hobbies:[drawing, Painting]}]';var jsonArray = JSON.parse(jsonData);//المعالجة مصفوفة متداخلة for(var i = 0; i < jsonArray.length; i++) { var hobbiesArray = jsonArray[i].hobbies var; javascriptArray = []; for(var j = 0; j < hobbiesArray.length; j++) { javascriptArray.push(hobbiesArray[j]) } jsonArray[i].hobbies = javascriptArray;}console.log(jsonArray);في الكود أعلاه، jsonData عبارة عن سلسلة تحتوي على مصفوفة json مكونة من كائنين json، يحتوي كل منهما على مصفوفة متداخلة تسمى الهوايات. قم بتحويل المصفوفة المتداخلة إلى مصفوفة جافا سكريبت من خلال المعالجة العودية وإخراج المصفوفة بأكملها في وحدة التحكم.
نأمل أن يساعدك هذا المقال! تعد الكفاءة في تحويل بيانات JSON مهارة مهمة في تطوير الواجهة الأمامية، وآمل أن تتمكن من تطبيق الأساليب الموضحة في هذه المقالة بمرونة في المشاريع الفعلية.