JSON.parse()

JSON యొక్క సాధారణ ఉపయోగం వెబ్ సర్వరులతో డాటా ట్రాన్స్ఫర్ చేయడం వంటిది.

వెబ్ సర్వరునుండి డాటా అందుకునేటప్పుడు, డాటా ఎల్లప్పుడూ స్ట్రింగ్ ఫార్మాట్లో ఉంటుంది.

ద్వారా JSON.parse() డాటాను పరివర్తించి, అది జావాస్క్రిప్ట్ అక్షరమండలంగా మార్చబడుతుంది.

ఉదాహరణ - JSON పరివర్తన

మేము వెబ్ సర్వరునుండి ఈ పదబద్ధాన్ని అందుకున్నాము:

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

జావాస్క్రిప్ట్ ఫంక్షన్ను ఉపయోగించండి: JSON.parse() పదబద్ధాన్ని జావాస్క్రిప్ట్ అక్షరమండలంగా మార్చండి:

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

ఈ పద్ధతి JSON ఫార్మాట్లో రాయబడితే మాత్రమే సంక్షేమం ఉంటుంది, మరే రీతిలోనూ సంక్షేమం లేదు.

మీ పేజీలో జావాస్క్రిప్ట్ అక్షరమండలం ఉపయోగించండి:

ప్రతిమా సమాచారం

<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();

亲自试一试

您应该避免在 JSON 中使用函数,函数会丢失它们的作用域,而且您还需要使用 eval() ఫంక్షన్స్ తిరిగి ఫంక్షన్స్ లో మార్చండి.

బ్రౌజర్ సపోర్ట్

అన్ని ప్రధాన బ్రౌజర్స్ మరియు నేషనల్ ఇస్క్రైప్ట్ (జావాస్క్రిప్ట్) ప్రమాణాలను అందిస్తాయి: JSON.parse() ఫంక్షన్స్:

క్రింది పట్టికలో వర్గీకృత సంఖ్యలు పూర్తిగా మద్దతు ఉన్న ఫంక్షన్స్ నిర్దేశిస్తాయి: JSON.parse() ఫంక్షన్ ప్రథమ బ్రౌజర్ వెర్షన్ ఉంది:

అవును 8.0 3.5 4.0 10.0

పాత బ్రౌజర్లకు క్రింది అడ్రెస్సులో జావాస్క్రిప్ట్ లైబ్రరీస్ లభిస్తాయి:

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