٪۴۰ تخفیف تابستانه شروع شد! بزرگترین حراج سال ما

به ما بپیوندید

آموزش تجزیه JSON

استفاده معمول از JSON مبادله داده ها به / از سرور وب است. هنگام دریافت داده از سرور وب ، داده همیشه یک رشته است. داده ها را با آنها تجزیه کنید JSON.parse()، و داده ها به یک شی JavaScript تبدیل…

محمد یوسفی

30 جولای 2021

استفاده معمول از JSON مبادله داده ها به / از سرور وب است.

هنگام دریافت داده از سرور وب ، داده همیشه یک رشته است.

داده ها را با آنها تجزیه کنید JSON.parse()، و داده ها به یک شی JavaScript تبدیل می شوند.


مثال – تجزیه JSON

تصور کنید این متن را از یک سرور وب دریافت کرده ایم:

'{"name":"John", "age":30, "city":"New York"}'

از تابع JavaScript JSON.parse()برای تبدیل متن به یک شی JavaScript استفاده کنید:

const obj = JSON.parse('{"name":"John", "age":30, "city":"New York"}');

مطمئن شوید متن در قالب JSON باشد ، در غیر این صورت با خطای نحوی مواجه خواهید شد.

از شی JavaScript در صفحه خود استفاده کنید:

مثال

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = obj.name;
</script>

آرایه به عنوان JSON

هنگام استفاده از JSON.parse()یک JSON مشتق شده از یک آرایه ، این روش به جای یک شی JavaScript ، آرایه JavaScript را برمی گرداند.

مثال

const text = '["Ford", "BMW", "Audi", "Fiat"]';
const myArr = JSON.parse(text);

استثناها

تجزیه تاریخ ها

اشیا Date تاریخ در JSON مجاز نیستند.

اگر می خواهید یک تاریخ وارد کنید ، آن را به عنوان یک رشته بنویسید.

بعداً می توانید دوباره آن را به یک شی تاریخ تبدیل کنید:

مثال

یک رشته را به تاریخ تبدیل کنید:

const text = '{"name":"John", "birth":"1986-12-14", "city":"New York"}';
const obj = JSON.parse(text);
obj.birth = new Date(obj.birth);

document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;

یا می توانید از پارامتر دوم ، JSON.parse()تابع ، به نام reviver استفاده کنید .

احیاگر پارامتر یک تابع است که چک هر یک از اموال است، قبل از بازگشت ارزش.

مثال

با استفاده از تابع reviver یک رشته را به تاریخ تبدیل کنید:

const text = '{"name":"John", "birth":"1986-12-14", "city":"New York"}';
const obj = JSON.parse(text, function (key, value) {
  if (key == "birth") {
    return new Date(value);
  } else {
    return value;
  }
});

document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;

توابع تجزیه

توابع در JSON مجاز نیستند.

اگر لازم است تابعی را وارد کنید ، آن را به صورت رشته بنویسید.

بعداً می توانید دوباره آن را به یک تابع تبدیل کنید:

مثال

یک رشته را به یک تابع تبدیل کنید:

const text = '{"name":"John", "age":"function () {return 30;}", "city":"New York"}';
const obj = JSON.parse(text);
obj.age = eval("(" + obj.age + ")");

document.getElementById("demo").innerHTML = obj.name + ", " + obj.age();

شما باید از استفاده از توابع در JSON خودداری کنید ، عملکردها دامنه خود را از دست می دهند و eval()برای تبدیل مجدد آنها به توابع باید از آنها استفاده کنید.

منبع

مطالب مرتبط

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها