JSON.stringify() হল একটি JavaScript ফাংশন যা JavaScript অবজেক্ট বা অ্যারে কে JSON স্ট্রিং এ রূপান্তরিত করে। এটি সাধারণত ডেটা সঞ্চয় অথবা ওয়েব সার্ভিস-এ পাঠানোর জন্য ব্যবহৃত হয়, যেখানে JSON ফরম্যাটের ডেটা প্রয়োজন হয়।
JSON.stringify(value[, replacer[, space]])
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 স্ট্রিং এ রূপান্তরিত করা হয়েছে।
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 স্ট্রিং এ রূপান্তরিত করা হয়েছে।
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 স্ট্রিং থেকে এটি সরানো হয়েছে।
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 স্ট্রিংটি ৪টি স্পেস দিয়ে ইনডেন্টেড হয়েছে।
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।
যখন কোনো অবজেক্টের মধ্যে 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 সৃষ্টি হতে পারে।
Read more