ورود ثبت نام

توابع parse و stringify در جاوااسکریپت

توابع parse و stringify در جاوااسکریپت
در این مقاله قصد دارم درباره ی 2 تابع JSON.parse و JSON.stringify در جاوا اسکریپت صحبت کنم. امروزه object JSON تقریبا در تمامی browser های مدرن پشتیبانی میشود و این object دارای دو تابع به نام های parse و stringify هست. JSON.parse یک رشته ی json را دریافت و به یک object جاوااسکریپتی تبدیل میکند در حالی که JSON.stringify یک object جاوااسکریپتی را دریافت و به یک رشته json تبدیل میکند.
const myObj = {
  name: 'Skip',
  age: 2,
  favoriteFood: 'Steak'
};

const myObjStr = JSON.stringify(myObj);

console.log(myObjStr);
// "{"name":"Skip","age":2,"favoriteFood":"Steak"}"

console.log(JSON.parse(myObjStr));
// Object {name:"Skip",age:2,favoriteFood:"Steak"}
و همچنین این متد ها به جای استفاده شدن برای object قابلیت استفاده در آرایه را هم دارند
const myArr = ['bacon', 'letuce', 'tomatoes'];

const myArrStr = JSON.stringify(myArr);

console.log(myArrStr);
// "["bacon","letuce","tomatoes"]"

console.log(JSON.parse(myArrStr));
// ["bacon","letuce","tomatoes"]
تابع parse توانایی دریافت argument دومی تحت عنوان reviver function (تابع احیا کننده) را داراست که توسط آن میتواند قبل از آنکه رشته json را به object تبدیل کند عملیات خاصی را روی آن انجام دهد به طور مثال:
const user = {
  name: 'John',
  email: '[email protected]',
  plan: 'Pro'
};

const userStr = JSON.stringify(user);

JSON.parse(userStr, (key, value) => {
  if (typeof value === 'string') {
    return value.toUpperCase();
  }
  return value;
});
تابع stringify توانایی دریافت دو argument اضافی تحت عنوان replacer function و یک عدد یا string برای فاصله در string بازگشتی میباشد. تابع replacer میتواند خروجی را فیلتر کند زیرا هر چیزی که undefined تعریف شود در string بازگشتی حضور نخواهد داشت به طور مثال:
const user = {
  id: 229,
  name: 'John',
  email: '[email protected]'
};

function replacer(key, value) {
  console.log(typeof value);
  if (key === 'email') {
    return undefined;
  }
  return value;
}

const userStr = JSON.stringify(user, replacer);
// "{"id":229,"name":"John"}"
و یک مثال برای argument فاصله:
const user = {
  name: 'John',
  email: '[email protected]',
  plan: 'Pro'
};

const userStr = JSON.stringify(user, null, '...');
// "{
// ..."name": "John",
// ..."email": "[email protected]",
// ..."plan": "Pro"
// }"
امیدوارم از این آموزش استفاده لازم رو برده باشید

0 340

telegram mosqdevelopers


دسته بندی ها

ios

پست های اخیر

banner

کاربردها و فرصت های شغلی زبان برنامه نویسی جاوا

زبان برنامه نویسی جاوا در ا...

ادامه مطلب


banner

ساخت جداول گوناگون در css

به نام خدا. در این قسمت میخوا...

ادامه مطلب


banner

کتابخوان های الکترونیکی برتر

به نام خدا ؛ تاحالا شده وقتت ت...

ادامه مطلب


banner

لاراول 6

انتظار ها به سررسید و سرانجام...

ادامه مطلب


banner

padding ها در css

به نام خدا در این قسمت قسط د...

ادامه مطلب


RSS RSS

نظرات ارزشمند خود را در مورد وبسایت با ما در میان بگذارید

© کلیه حقوق مادی و معنوی متعلق به تیم برنامه نویسی Mosquito Network می باشد