JSON.parse()

JSON-এর সাধারণ ব্যবহার হল ইন্টারনেট সার্ভারের সাথে ডাটা ট্রান্সফার করা।

ইন্টারনেট সার্ভার থেকে ডাটা পাওয়ার সময়, ডাটা সবসময় চেইন হিসাবে থাকে।

দ্বারা JSON.parse() ডাটা পার্সিং করুন, যা জেভাস্ক্রিপ্ট অবজেক্ট হিসাবে হবে।

উদাহরণ - JSON পার্সিং

আমরা কি ইন্টারনেট সার্ভার থেকে এই টেক্সটকে পেয়েছি চিন্তা করুন:

'{ "name":"Bill Gates", "age":62, "city":"Seattle"}'

অনুগ্রহ করে JavaScript ফাংশন ব্যবহার করুন JSON.parse() টেক্সটকে JavaScript অবজেক্টে রূপান্তর করুন:

var obj = JSON.parse('{ "name":"Bill Gates", "age":62, "city":"Seattle"}');

অন্যথায় সার্টজিস্টিক ত্রুটি হবে, তাই এই টেক্সটকে JSON ফরম্যাটে লিখুন।

আপনার পাতায় JavaScript অবজেক্ট ব্যবহার করুন:

উদাহরণ

<p id="demo"></p> 
<script>
 document.getElementById("demo").innerHTML = obj.name + ", " + obj.age; 
</script>

স্বয়ং প্রয়াস করুন

সার্ভার থেকে এসেছে JSON

আপনি AJAX প্রয়োগের মাধ্যমে সার্ভার থেকে JSON রিকোর্ড করতে পারেন।

যদি সার্ভারের প্রতিক্রিয়া JSON ফরম্যাটে লেখা হয়, তবে আপনি চেইনকে জেভাস্ক্রিপ্ট অবজেক্টে পার্স করতে পারবেন।

উদাহরণ

সার্ভার থেকে ডাটা পাওয়ার জন্য XMLHttpRequest ব্যবহার করুন:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()  {
    if (this.readyState == 4 && this.status == 200) {
        myObj =  JSON.parse(this.responseText);
        document.getElementById("demo").innerHTML  = myObj.name;
    }
};
xmlhttp.open("GET", "json_demo.txt", true);
xmlhttp.send();

স্বয়ং প্রয়াস করুন

json_demo.txt দেখুন

জেভাস্ক্রিপ্ট অ্যারে হিসাবে JSON

যখন সারগ্রাহী অ্যারে থেকে JSON ব্যবহার করা হয় JSON.parse() পর, এই পদ্ধতি জেভাস্ক্রিপ্ট অ্যারেকে, না জেভাস্ক্রিপ্ট অবজেক্টকে ফিরিয়ে দেয়।

উদাহরণ

JSON সার্ভার থেকে ফলানো হয়:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()  {
    if (this.readyState == 4 && this.status == 200) {
        myArr =  JSON.parse(this.responseText);
        document.getElementById("demo").innerHTML  = myArr[0];
    }
};
xmlhttp.open("GET", "json_demo_array.txt", true);
xmlhttp.send();

স্বয়ং প্রয়াস করুন

json_demo_array.txt দেখুন

অস্বাভাবিক

তারিখ পার্সিং

JSON-তে তারিখ অব্যবহারকারী বস্তু অনুমদিত নয়。

যদি আপনি তারিখ অন্তর্ভুক্ত করতে চান, তবে তা স্ট্রিং হিসাবে লিখুন。

পরে আপনি তাকে তারিখ অব্যবহারকারী বস্তুতে রূপান্তরিত করতে পারবেন:

উদাহরণ

স্ট্রিংকে তারিখে রূপান্তরিত করুন:

var text = '{ "name":"Bill Gates", "birth":"1955-10-28", "city":"Seattle"}';
var obj = JSON.parse(text);
obj.birth = new Date(obj.birth);
document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;

স্বয়ং প্রয়াস করুন

বা আপনি ইতিমধ্যেই JSON.parse() ফাংশনের দ্বিতীয় প্রামাণ্যতা হলেন reviver

এই reviver প্রামাণ্যতা হল ফাংশন, যা ফলাফল রজুগর পূর্বে প্রত্যেক বৈশিষ্ট্যকে পরীক্ষা করে。

উদাহরণ

স্ট্রিংকে তারিখে রূপান্তরিত করুন এবং reviver ফাংশন ব্যবহার করুন:

var text = '{ "name":"Bill Gates", "birth":"1955-10-28", "city":"Seattle"}';
var 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-তে ফাংশন অনুমদিত নয়。

যদি আপনি ফাংশন অন্তর্ভুক্ত করতে চান, তবে তা স্ট্রিং হিসাবে লিখুন。

পরে আপনি তাকে ফাংশনে রূপান্তরিত করতে পারবেন:

উদাহরণ

স্ট্রিং থেকে ফাংশন রূপান্তর করুন:

var text = '{ "name":"Bill Gates", "age":"function () {return 62;}", "city":"Seattle"}';
var obj = JSON.parse(text);
obj.age = eval("(" + obj.age + ")");
document.getElementById("demo").innerHTML = obj.name + ", " +  obj.age();

স্বয়ং প্রয়াস করুন

আপনাকে জেভাস্ক্রিপ্টে ফাংশন ব্যবহার করতে হবে না, কারণ ফাংশনটি তাদের স্কোপটি হারাবে, এবং আপনাকে আরও eval() ফাংশনকে ফিরিয়ে নিন

ব্রাউজার সমর্থন

সমস্ত প্রধান ব্রাউজার এবং সর্বশেষ ECMAScript (জেভাস্ক্রিপ্ট) প্রমাণপত্র অন্তর্ভুক্ত JSON.parse() ফাংশন:

হোক না কী নামক ফাংশনটির পূর্ণ সমর্থন JSON.parse() ফাংশনের প্রথম ব্রাউজার সংস্করণ:

হ্যাঁ 8.0 3.5 4.0 10.0

পুরানো ব্রাউজারের জন্য, নিচের ঠিকানায় জেভাস্ক্রিপ্ট লাইব্রেরি উপলব্ধ

https://github.com/douglascrockford/JSON-js