JSON Stringify

Web Development - জাভাস্ক্রিপ্ট (JavaScript) জাভাস্ক্রিপ্ট জ্যাসন (JS JSON) |
246
246

JSON.stringify() হল একটি JavaScript ফাংশন যা JavaScript অবজেক্ট বা অ্যারে কে JSON স্ট্রিং এ রূপান্তরিত করে। এটি সাধারণত ডেটা সঞ্চয় অথবা ওয়েব সার্ভিস-এ পাঠানোর জন্য ব্যবহৃত হয়, যেখানে JSON ফরম্যাটের ডেটা প্রয়োজন হয়।


JSON.stringify() এর কার্যপদ্ধতি

সিনট্যাক্স

JSON.stringify(value[, replacer[, space]])
  • value: এটি একটি JavaScript অবজেক্ট, অ্যারে বা অন্য যে কোনো ডেটা যা JSON স্ট্রিং এ রূপান্তরিত হতে হবে।
  • replacer (ঐচ্ছিক): একটি ফাংশন বা অ্যারে, যা প্রপার্টি গুলো কীভাবে রূপান্তরিত হবে তা নিয়ন্ত্রণ করতে সাহায্য করে।
  • space (ঐচ্ছিক): একটি স্ট্রিং বা সংখ্যা, যা JSON স্ট্রিংটি সুন্দরভাবে ইন্ডেন্টেড (ফরম্যাটেড) করতে ব্যবহৃত হয়।

উদাহরণ: JSON.stringify()

উদাহরণ ১: অবজেক্টকে JSON স্ট্রিং এ রূপান্তরিত করা

const obj = {
    name: "Alice",
    age: 25,
    city: "New York"
};

const jsonString = JSON.stringify(obj);
console.log(jsonString);
// Output: {"name":"Alice","age":25,"city":"New York"}

এখানে, obj নামক একটি JavaScript অবজেক্টকে JSON.stringify() ব্যবহার করে একটি JSON স্ট্রিং এ রূপান্তরিত করা হয়েছে।


উদাহরণ ২: অ্যারে থেকে JSON স্ট্রিং তৈরি করা

const arr = [1, 2, 3, 4, 5];
const jsonString = JSON.stringify(arr);
console.log(jsonString);
// Output: [1,2,3,4,5]

এখানে, একটি অ্যারে [1, 2, 3, 4, 5] JSON স্ট্রিং এ রূপান্তরিত করা হয়েছে।


উদাহরণ ৩: JSON.stringify() এর সঙ্গে replacer ব্যবহার

replacer ফাংশন ব্যবহার করে আমরা JSON ডেটার কিছু প্রপার্টি বাদ দিতে বা পরিবর্তন করতে পারি।

const obj = {
    name: "Alice",
    age: 25,
    city: "New York"
};

const jsonString = JSON.stringify(obj, (key, value) => {
    if (key === "age") {
        return undefined;  // "age" প্রপার্টি বাদ দেওয়া হচ্ছে
    }
    return value;
});

console.log(jsonString);
// Output: {"name":"Alice","city":"New York"}

এখানে, "age" প্রপার্টিটি replacer ফাংশনের মাধ্যমে বাদ দেওয়া হয়েছে এবং JSON স্ট্রিং থেকে এটি সরানো হয়েছে।


উদাহরণ ৪: JSON.stringify() এর সঙ্গে space ব্যবহার

space অপশন ব্যবহার করে JSON স্ট্রিংটি সুন্দরভাবে ফরম্যাট করা যায়, যাতে এটি আরও পাঠযোগ্য হয়। এটি সংখ্যার মাধ্যমে ইনডেন্টেশন কন্ট্রোল করতে পারে, অথবা স্ট্রিং দিয়ে।

const obj = {
    name: "Alice",
    age: 25,
    city: "New York"
};

const jsonString = JSON.stringify(obj, null, 4);
console.log(jsonString);
// Output:
// {
//     "name": "Alice",
//     "age": 25,
//     "city": "New York"
// }

এখানে, space এর মান 4 সেট করা হয়েছে, যার ফলে JSON স্ট্রিংটি ৪টি স্পেস দিয়ে ইনডেন্টেড হয়েছে।


উদাহরণ ৫: undefined, function বা symbol রূপান্তর

JSON.stringify() undefined, ফাংশন, এবং symbol টাইপের মানগুলি রূপান্তর করতে পারে না। এগুলো যখন JSON স্ট্রিং এ পরিণত হয়, তখন undefined গুলি বাদ পড়বে, এবং ফাংশন বা symbol সম্পূর্ণরূপে উপেক্ষা করা হবে।

const obj = {
    name: "Alice",
    age: undefined,
    greet: function() { console.log("Hello!"); }
};

const jsonString = JSON.stringify(obj);
console.log(jsonString);
// Output: {"name":"Alice"}

এখানে, "age" এবং "greet" প্রপার্টিগুলি বাদ পড়েছে কারণ তাদের মান undefined এবং function


JSON.stringify() এবং Circular References

যখন কোনো অবজেক্টের মধ্যে Circular Reference (একটি অবজেক্ট নিজেই অন্য অবজেক্টে রেফারেন্স তৈরি করে) থাকে, তখন JSON.stringify() তা পার্স করতে পারে না এবং TypeError ঘটায়।

উদাহরণ:

const obj = {};
obj.self = obj;  // Circular reference

const jsonString = JSON.stringify(obj);  
// TypeError: Converting circular structure to JSON

এখানে, obj.self নিজেই obj রেফারেন্স করছে, যা Circular Reference। এটি পার্স করার চেষ্টা করলে TypeError হবে।


সারাংশ

JSON.stringify() একটি গুরুত্বপূর্ণ ফাংশন যা JavaScript অবজেক্ট বা অ্যারেকে JSON স্ট্রিং এ রূপান্তরিত করতে ব্যবহৃত হয়। এটি ওয়েব সার্ভিসে ডেটা পাঠানোর জন্য, স্টোরেজে সংরক্ষণ করার জন্য বা অন্যান্য অ্যাপ্লিকেশনে ব্যবহারের জন্য উপযুক্ত। আপনি replacer ফাংশন ব্যবহার করে কিছু প্রপার্টি বাদ দিতে পারেন এবং space প্যারামিটার ব্যবহার করে স্ট্রিংটিকে সুন্দরভাবে ফরম্যাট করতে পারেন। তবে, undefined, ফাংশন, এবং symbol ডেটা টাইপগুলি JSON.stringify() দ্বারা রূপান্তরিত হতে পারে না এবং Circular References এ TypeError সৃষ্টি হতে পারে।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion
;