জেএসএন (জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন) একটি হালকা ওজনের ফর্ম্যাট যা ডেটা ইন্টারচেঞ্জিংয়ের জন্য ব্যবহৃত হয়। এটি জাভাস্ক্রিপ্ট ভাষার একটি উপসেটের উপর ভিত্তি করে (যেভাবে জাভাস্ক্রিপ্টে বস্তুগুলি নির্মিত হয়)। এমডিএন-তে যেমন বলা হয়েছে , কিছু জাভাস্ক্রিপ্ট জেএসএন নয়, এবং কিছু জেএসএন জাভাস্ক্রিপ্ট নয়।
এটি কোথায় ব্যবহৃত হয় তার একটি উদাহরণ ওয়েব পরিষেবাদি প্রতিক্রিয়া। 'পুরানো' দিনগুলিতে, ওয়েব পরিষেবাগুলি এক্সএমএলটিকে ব্যাক ডেটা সংক্রমণ করার জন্য তাদের প্রাথমিক ডেটা ফর্ম্যাট হিসাবে ব্যবহার করেছিল, কিন্তু যেহেতু জেএসএন হাজির হয়েছে ( ডগলাস ক্রকফোর্ড দ্বারা জেএসএন ফর্ম্যাটটি আরএফসি 4627-তে নির্দিষ্ট করা হয়েছে), এটি পছন্দসই ফর্ম্যাট হিসাবে পরিণত হয়েছে কারণ এটি আরও অনেক বেশি লাইটওয়েট
আপনি অফিসিয়াল জেএসএন ওয়েব সাইটে আরও অনেক তথ্য পেতে পারেন ।
JSON দুটি কাঠামোর উপর নির্মিত:
- নাম / মান জোড়ের সংগ্রহ। বিভিন্ন ভাষায়, এটি কোনও অবজেক্ট, রেকর্ড, কাঠামো, অভিধান, হ্যাশ টেবিল, কীড তালিকা বা সহযোগী অ্যারে হিসাবে উপলব্ধি করা যায়।
- একটি মান আদেশের তালিকা। বেশিরভাগ ভাষায় এটি অ্যারে, ভেক্টর, তালিকা বা ক্রম হিসাবে উপলব্ধি করা হয়।
জেএসওএন স্ট্রাকচার
এখানে JSON ডেটার একটি উদাহরণ রয়েছে:
{
"firstName": "John",
"lastName": "Smith",
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": 10021
},
"phoneNumbers": [
"212 555-1234",
"646 555-4567"
]
}
জাভাস্ক্রিপ্টে JSON
জেএসএন (জাভাস্ক্রিপ্টে) একটি স্ট্রিং!
লোকেরা প্রায়শই সমস্ত জাভাস্ক্রিপ্ট অবজেক্টগুলি JSON বলে ধরে নেয় এবং JSON একটি জাভাস্ক্রিপ্ট অবজেক্ট। এটি ভুল।
জাভাস্ক্রিপ্ট var x = {x:y}
হয় তাদেরকে JSON না , এই একটি হল জাভাস্ক্রিপ্ট অবজেক্ট । দুটো এক জিনিস নয়। JSON সমতুল্য (জাভাস্ক্রিপ্ট ভাষায় উপস্থাপিত) হবে var x = '{"x":"y"}'
। x
টাইপ স্ট্রিংয়ের একটি অবজেক্ট এটি তার নিজের ডানদিকে কোনও বস্তু নয়। একটি সম্পূর্ণরূপে পালকযুক্ত জাভাস্ক্রিপ্ট অবজেক্ট আপনাকে প্রথমে এটি পার্স আবশ্যক এই চালু করার জন্য, var x = JSON.parse('{"x":"y"}');
, x
এখন একটি বস্তু কিন্তু এই JSON আর হয় না।
দেখুন জাভাস্ক্রিপ্ট অবজেক্ট বনাম তাদেরকে JSON
জেএসএন এবং জাভাস্ক্রিপ্টের সাথে কাজ করার সময়, eval
কলব্যাকে ফিরে আসা ফলাফলটি মূল্যায়নের জন্য আপনাকে ফাংশনটি ব্যবহার করার জন্য প্রলুব্ধ করা যেতে পারে, তবে জাভাস্ক্রিপ্টে নয় এমন দুটি অক্ষর (U + 2028 এবং U + 2029) বৈধ থাকার কারণে এটি প্রস্তাবিত নয় ( এখানে আরও পড়ুন )।
অতএব, ক্রোকফোর্ডের স্ক্রিপ্টটি সর্বদা ব্যবহারের চেষ্টা করা উচিত যা এটি মূল্যায়নের আগে একটি বৈধ জেএসওএন পরীক্ষা করে। স্ক্রিপ্ট ব্যাখ্যা লিঙ্ক পাওয়া যায় এখানে এবং এখানে একটি হল সরাসরি লিঙ্ক JS ফাইল। আজকাল প্রতিটি বড় ব্রাউজারের এর নিজস্ব প্রয়োগ রয়েছে ।
কীভাবে JSON পার্সার ব্যবহার করবেন (উদাহরণস্বরূপ উপরের কোড স্নিপেট থেকে জেসন সহ):
//The callback function that will be executed once data is received from the server
var callback = function (result) {
var johnny = JSON.parse(result);
//Now, the variable 'johnny' is an object that contains all of the properties
//from the above code snippet (the json example)
alert(johnny.firstName + ' ' + johnny.lastName); //Will alert 'John Smith'
};
জেএসএন পার্সার আরও একটি খুব দরকারী পদ্ধতি সরবরাহ করে stringify
,। এই পদ্ধতিটি একটি জাভাস্ক্রিপ্ট অবজেক্টটিকে প্যারামিটার হিসাবে গ্রহণ করে এবং JSON ফর্ম্যাট সহ একটি স্ট্রিংকে আউটপুট দেয়। আপনি যখন সার্ভারে ডেটা ফেরত পাঠাতে চান এটির জন্য এটি কার্যকর :
var anObject = {name: "Andreas", surname : "Grech", age : 20};
var jsonFormat = JSON.stringify(anObject);
//The above method will output this: {"name":"Andreas","surname":"Grech","age":20}
উপরের দুটি পদ্ধতি ( parse
এবং stringify
) একটি দ্বিতীয় প্যারামিটারও গ্রহণ করে, এটি এমন একটি ফাংশন যা চূড়ান্ত ফলাফলের প্রতিটি স্তরে প্রতিটি কী এবং মানের জন্য ডাকা হবে, এবং প্রতিটি মান আপনার ইনপুটযুক্ত ফাংশনের ফলাফল দ্বারা প্রতিস্থাপিত হবে। (এই বিষয়ে আরো এখানে )
বিটিডব্লিউ, আপনারা যারা আছেন বলে মনে করেন জেএসএন কেবল জাভাস্ক্রিপ্টের জন্য, এই পোস্টটি দেখুন যা অন্যথায় ব্যাখ্যা করে এবং নিশ্চিত করে।
তথ্যসূত্র