JSON PHP

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

ఈ చాప్టర్ మీరు PHP సర్వర్ మరియు క్లయింట్ మధ్య JSON డాటా ఎక్స్చేంజ్ చేయడానికి చూపుస్తుంది.

PHP ఫైల్

PHP JSON ని ప్రాసెస్ చేయడానికి అంతర్భాగంగా ఫంక్షన్లను అందిస్తుంది.

PHP ఫంక్షన్ ఉపయోగించి దీనిని చేయవచ్చు: json_encode()PHP లో ఆబ్జెక్ట్లను JSON గా మార్చవచ్చు:

PHP ఫైల్

<?php
నా అబ్జెక్ట్ పేరును "బిల్ గేట్స్" చేస్తారు;
నా అబ్జెక్ట్ వయస్సును 62 చేస్తారు;
$myObj->city = "Seattle";
$myJSON = json_encode($myObj);
echo $myJSON;
?>

PHP ఫైల్ ని ప్రదర్శించండి

క్లయింట్ జావాస్క్రిప్ట్

ఈటి కాంటెంట్ లో ఉన్న జావాస్క్రిప్ట్ ను సర్వర్ నుండి అభ్యర్ధించడానికి ఆజ్ఎక్స్ ను ఉపయోగించాలి:

ఉదాహరణ

ఉపయోగించండి JSON.parse() ఫలితాన్ని జావాస్క్రిప్ట్ ఆబ్జెక్ట్ లోకి మార్చండి:

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", "demo_file.php", true);
xmlhttp.send();

స్వయంగా ప్రయత్నించండి

PHP అర్రేయ్

PHP ఫంక్షన్ ఉపయోగించినప్పుడు json_encode() ఉన్నప్పుడు, PHP లోని అర్రేయ్ కూడా JSON లోకి మార్చబడుతుంది:

PHP ఫైల్

<?php
$myArr = array("Bill Gates", "Steve Jobs", "Elon Musk");
$myJSON = json_encode($myArr);
echo $myJSON;
?>

PHP ఫైల్ ని ప్రదర్శించండి

క్లయింట్ జావాస్క్రిప్ట్

ఈటి కాంటెంట్ లో ఉన్న జావాస్క్రిప్ట్ ను సర్వర్ నుండి అభ్యర్ధించడానికి ఆజ్ఎక్స్ ను ఉపయోగించాలి:

ఉదాహరణ

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

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

స్వయంగా ప్రయత్నించండి

PHP డేటాబేస్

PHP సర్వర్ ప్రాంతం ప్రోగ్రామింగ్ భాష, సర్వర్ నుండి మాత్రమే అమలు చేయబడే కార్యకలాపాలకు ఉపయోగించబడాలి, ఉదాహరణకు డేటాబేస్ ప్రాప్తి.

సర్వర్ లో ఉన్న ఒక డేటాబేస్ ఉంది, దానిలో కస్టమర్స్, ఉత్పత్తులు మరియు సరఫరాదారుల డేటా ఉంటాయి.

ఈ సమయంలో, మీరు "కస్టమర్" పత్రంలో మొదటి పది రికార్డులను పొందడానికి సర్వర్ ను అభ్యర్ధించవలసివుంది:

ఉదాహరణ

ఉపయోగించండి JSON.stringify() జావాస్క్రిప్ట్ ఆబ్జెక్ట్ ని JSON లోకి మార్చండి:

obj = { "table":"customers", "limit":10 };
dbParam = JSON.stringify(obj);
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
     if (this.readyState == 4 && this.status == 200) {
        document.getElementById("demo").innerHTML = this.responseText;
    });
});
xmlhttp.open("GET", "demo_json_db.php?x=" + dbParam, true);
xmlhttp.send();

స్వయంగా ప్రయత్నించండి

ఉదాహరణ వివరణం:

  • టేబుల్ అంశం మరియు లిమిట్ అంశం కలిగిన ఆబ్జెక్ట్ ని నిర్వచించండి。
  • ఈ ఆబ్జెక్ట్ను JSON స్ట్రింగ్గా మార్చండి.
  • ఈ PHP ఫైలుకు JSON పరామితులతో అభ్యర్థించండి。
  • అభ్యర్థించిన ఫలితాన్ని JSONగా పునఃప్రతిపాదించడానికి వేచి ఉండండి。
  • PHP ఫైలు నుండి ప్రాప్తమయిన ఫలితాన్ని ప్రదర్శించండి。

PHP ఫైలును చూడండి

PHP ఫైల్

<?php
header("Content-Type: application/json; charset=UTF-8");
$obj =  json_decode($_GET["x"], false);
$conn = new mysqli("myServer", "myUser", "myPassword", "Northwind");
$result = $conn->query("SELECT name FROM ".$obj->$table." LIMIT ".$obj->$limit);
$outp = array();
$outp = $result->fetch_all(MYSQLI_ASSOC);
echo json_encode($outp);
?>

PHP ఫైలు వివరణ:

  • PHP ఫంక్షన్ని ఉపయోగించడంద్వారా అభ్యర్ధించిన ఫలితాన్ని ఆబ్జెక్ట్గా మార్చండి. json_decode().
  • అభ్యర్ధించిన డాటాతో డేటాబేస్ ను ప్రవేశపెట్టండి.
  • అరెయ్ని ఆబ్జెక్ట్గా జోడించడానికి ఉపయోగించండి: json_encode() ఫలితాన్ని JSONగా పునఃప్రతిపాదించే ఫంక్షన్.

ఫలితాన్ని గమనించండి

PHP ఫైలు నుండి ప్రాప్తమయిన ఫలితాన్ని జావాస్క్రిప్ట్ ఆబ్జెక్ట్గా మార్చండి లేదా ఈ ఉదాహరణలో జావాస్క్రిప్ట్ అరెయ్ గా ఉంటుంది:

ఉదాహరణ

ఉపయోగించండి JSON.parse() JSON ను జావాస్క్రిప్ట్ ఆబ్జెక్ట్గా మార్చండి:

...
xmlhttp.onreadystatechange = function() {
     if (this.readyState == 4 && this.status == 200) {
         myObj = JSON.parse(this.responseText);
         for (x in myObj) {
             txt += myObj[x].name + "<br>";
        });
         document.getElementById("demo").innerHTML = txt;
    });
});
 ...

స్వయంగా ప్రయత్నించండి

PHP పద్ధతి = POST

సర్వర్కుకు డాటాను పంపడంలో సాధారణంగా HTTP POST పద్ధతిని ఉపయోగించాలి。

పోస్ట్ పద్ధతిని ఉపయోగించడానికి పోస్ట్ మెథడ్ని నిర్దేశించండి మరియు సరైన హెడర్లను తెలియజేయండి。

సర్వర్కు దయచేసి పంపడానికి ఉపయోగించాల్సిన డాటా కావాలి ఇప్పుడు: .send(); పద్ధతి పరామితులు:

ఉదాహరణ

obj = { "table":"customers", "limit":10 };
dbParam = JSON.stringify(obj);
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
     if (this.readyState == 4 && this.status == 200) {
         myObj = JSON.parse(this.responseText);
         for (x in myObj) {
             txt += myObj[x].name + "<br>";
        });
         document.getElementById("demo").innerHTML = txt;
    });
});
xmlhttp.open("POST", "demo_json_db.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("x=" + dbParam);

స్వయంగా ప్రయత్నించండి

PHP ఫైల్లో ఏకైక వ్యత్యాసం అందించబడిన డాటా పొందుటకు విధానం ఉంది.

PHP ఫైల్

ఉపయోగించండి $_POST కాదు $_GETకోడ్

<?php
header("Content-Type: application/json; charset=UTF-8");
$obj =  json_decode($_POST["x"], false);
$conn = new mysqli("myServer", "myUser", "myPassword", "Northwind");
$result = $conn->query("SELECT name FROM ".$obj->$table." LIMIT ".$obj->$limit);
$outp = array();
$outp = $result->fetch_all(MYSQLI_ASSOC);
echo json_encode($outp);
?>