از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
تبدیل رشته JSON به یک شی در جاوا اسکریپت
سرفصلهای مطلب
معرفی
در دنیای توسعه وب، JSON (JavaScript Object Notation) به دلیل سادگی و قابلیت استفاده به یک فرمت داده محبوب مستقل از زبان تبدیل شده است. اما، چه اتفاقی می افتد زمانی که ما نیاز به تبدیل یک رشته JSON به یک شی جاوا اسکریپت داریم؟ بیایید به جزئیات بپردازیم و چگونگی انجام ایمن این تبدیل را بررسی کنیم.
اشیاء JSON و جاوا اسکریپت
JSON یک فرمت تبادل داده سبک وزن است که خواندن و نوشتن آن برای انسان آسان است و به همان اندازه مهم است که تجزیه و تولید آن برای ماشین ها آسان است. در واقع مبتنی است روی زیر مجموعه ای از زبان برنامه نویسی جاوا اسکریپت. JSON یک قالب متنی است که کاملاً مستقل از زبان است اما از قراردادهایی استفاده می کند که برای بسیاری از زبان های سبک C آشنا هستند.
از طرف دیگر، یک شی جاوا اسکریپت یک موجودیت مستقل است که چندین مقدار را از نظر ویژگی ها و روش ها در خود نگه می دارد. ویژگی ها مقادیر مرتبط با یک شی جاوا اسکریپت هستند، در حالی که متدها اقداماتی هستند که می توانند انجام شوند روی اشیاء.
let person = {
firstName: "John",
lastName: "Doe",
age: 30,
fullName: function() {
return this.firstName + " " + this.lastName;
}
};
در این شیء، firstName
، lastName
، و age
خواص هستند و fullName
روشی از person
هدف – شی.
چرا رشته های JSON را به آبجکت های JS تبدیل کنیم؟
پس چرا می خواهید رشته های JSON را به اشیاء جاوا اسکریپت تبدیل کنید؟ دلیل آن ساده است: JSON یک فرمت داده است و ما نمیتوانیم مستقیماً عملیاتی مانند روشهای شی، حلقهها و محاسبات را انجام دهیم. روی آی تی. با تبدیل یک رشته JSON به یک شی جاوا اسکریپت، سپس میتوانیم از اشیاء موجود در کد جاوا اسکریپت برای دستکاری دادهها استفاده کنیم و آن را در برنامههایمان مفیدتر کنیم.
روش تبدیل رشته های JSON به آبجکت های JS
تبدیل یک رشته JSON به یک شی جاوا اسکریپت یک کار رایج در جاوا اسکریپت است، به خصوص زمانی که با API ها یا سایر پاسخ های سرور سروکار داریم. را JSON.parse()
برای انجام این امر می توان از روش استفاده کرد. این روش یک رشته JSON را تجزیه می کند و مقدار جاوا اسکریپت یا شیء توصیف شده توسط رشته را می سازد.
بیایید به یک مثال نگاه کنیم:
let jsonString = '{"name":"John", "age":30, "city":"New York"}';
let jsObject = JSON.parse(jsonString);
console.log(jsObject);
خروجی خواهد بود:
{ name: 'John', age: 30, city: 'New York' }
در مثال بالا، ما یک رشته JSON داریم jsonString
. ما با استفاده از JSON.parse()
برای تبدیل آن به یک شی جاوا اسکریپت jsObject
. اکنون، ما به راحتی می توانیم این داده ها را به عنوان یک شی استاندارد جاوا اسکریپت دستکاری کنیم.
رسیدگی به خطاها در حین تبدیل
هنگام تبدیل رشته های JSON به اشیاء جاوا اسکریپت، رسیدگی به خطاهای احتمالی که ممکن است در طول process. این خطاها می تواند به دلیل رشته های JSON نادرست، نحو نادرست یا انواع داده های غیرمنتظره و موارد دیگر باشد.
try {
let obj = JSON.parse(jsonString);
} catch (error) {
console.error('Invalid JSON string:', error);
}
در قطعه کد بالا، از a استفاده می کنیم try/catch
مسدود کردن برای رسیدگی به هر گونه خطایی که ممکن است در طول تبدیل رخ دهد. اگر رشته JSON نامعتبر باشد، JSON.parse()
متد یک خطا ایجاد می کند، که سپس آن را می گیریم و وارد آن می شویم console.
استفاده از JSON.parse() برای تبدیل
را JSON.parse()
متد رایج ترین روش برای تبدیل رشته های JSON به اشیاء جاوا اسکریپت است. یک رشته JSON را به عنوان آرگومان می گیرد و یک شی جاوا اسکریپت را برمی گرداند.
let jsonString = '{"name":"John", "age":30, "city":"New York"}';
let obj = JSON.parse(jsonString);
console.log(obj);
خروجی خواهد بود:
{ name: 'John', age: 30, city: 'New York' }
همانطور که می بینید، JSON.parse()
متد رشته JSON را به یک شی جاوا اسکریپت تبدیل کرده است که اکنون می توان آن را مانند هر شی دیگری در جاوا اسکریپت دستکاری کرد.
مدیریت رشته های بزرگ JSON
مدیریت رشته های بزرگ JSON ممکن است کمی مشکل باشد، زیرا می تواند منجر به مشکلات عملکرد شود. یکی از راههای مدیریت رشتههای بزرگ JSON، استفاده از تجزیهکننده جریان JSON است JSONStream. این به شما امکان می دهد رشته JSON را به صورت تکه ای تجزیه کنید و ردپای حافظه را کاهش دهید.
در اینجا یک مثال اساسی از روش استفاده آورده شده است JSONStream
:
const JSONStream = require('JSONStream');
const fs = require('fs');
const stream = fs.createReadStream('large.json', {encoding: 'utf8'});
const parser = JSONStream.parse('*');
stream.pipe(parser);
parser.روی('data', (obj) => {
console.log(obj);
});
ما در حال خواندن یک فایل JSON بزرگ از سیستم فایل با استفاده از یک جریان خواندن هستیم و سپس آن جریان را به JSONStream
تجزیه کننده تجزیه کننده یک رویداد “داده” را برای هر شیئی که از رشته JSON تجزیه می کند منتشر می کند و به شما این امکان را می دهد که به جای بارگیری کل رشته JSON در حافظه، هر شی را جداگانه مدیریت کنید.
استفاده از تجزیهکننده جریان JSON موضوع پیشرفتهتری است و عموماً تنها زمانی لازم است که با رشتههای JSON بسیار بزرگی که نمیتوان با استفاده از آنها به طور کارآمد پردازش کرد، سروکار داشت. JSON.parse()
.
نتیجه
در این بایت، روش تبدیل رشته های JSON به اشیاء جاوا اسکریپت را با استفاده از آن توضیح داده ایم JSON.parse()
، روش رسیدگی به خطاها در طول تبدیل، و روش مدیریت رشته های بزرگ JSON با استفاده از تجزیه کننده JSON جریانی.
همیشه به یاد داشته باشید که برای جلوگیری از خرابی های غیرمنتظره و ارائه پیام های خطای آموزنده تر، خطاهای احتمالی را در طول تبدیل مدیریت کنید. هنگامی که با رشته های بزرگ JSON سروکار دارید، برای کاهش ردپای حافظه و بهبود عملکرد، از تجزیه کننده جریان JSON استفاده کنید.
منتشر شده در 1402-12-31 04:06:02