اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

JSON.stringify هي دالة في جافاسكربت تحول المصفوفات او الكائن الى JSON.

وال JSON هو عبارة عن هيكلة بيانات تشبه الكائن في JS لكنها عبارة عن نص وتستخدم كثيرا في عالم الويب في نقل البيانات.

لماذا يتم استخدامه في التخزين المحلي؟

وهو لهذا السبب أن التخزين المحلي الخاص بالمتصفح لا  يخزن إلى النصوص فنحن نحول ما نريد الى نص ثم نخزنه.

 

  • 0
نشر

التخزين المحلي في المتصفح لا يقبل سوى النصوص بمعنى قيمة مثل التالي "نص"  أي لا يمكنك أن تضع به مباشرة أشياء معقدة مثل كائن في جافاسكريبت، والذي يحتوي على معلومات منظمة.

أي التالي:

let user = {
  name: "أحمد",
  age: 30,
  isStudent: false
};

ذلك كائن، وليس "نص"، ولو حاولت تخزينه مباشرة في الصندوق سيفشل الأمر أو سيخزن قيمة غير مفهومة مثل [object Object].

لذا نستعمل ميثود stringify من كائن JSON الخاص بعمليات Json، والتي تعمل على تحويل الكائن الذي نمرره إلى نص طويل ومسطح لتخزينه في التخزين المحلي بالمتصفح، ثم نستخدم ميثود setItem لتخزينه في التخزين المحلي:

let userText = JSON.stringify(user);

localStorage.setItem('userData', userText);

لاحظ كيف أصبح الآن نصًا عاديًا محاطًا بعلامات اقتباس مفردة:

'{"name":"أحمد","age":30,"isStudent":false}'

وعند استرجاع تلك المعلومات نستخدم ميثود getItem:

let storedText = localStorage.getItem('userData');

ثم سنحتاج إلى عملية عكسية، أي تحويل النص الذي حصلنا عليه من التخزين المحلي ونعيده إلى كائن مرة أخرى باستخدام JSON.parse.

let userObject = JSON.parse(storedText);

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...