JSON PHP

JSON µÄ³£¹æÓÃ;ÊÇ´Ó web ·þÎñÆ÷¶ÁÈ¡Êý¾Ý£¬È»ºóÔÚÍøÒ³ÖÐÏÔʾÕâЩÊý¾Ý¡£

±¾ÕÂÏòÄú½²½âÈçºÎÔÚ¿Í»§¶ËÓë PHP ·þÎñÆ÷Ö®¼ä½»»» JSON Êý¾Ý¡£

PHP Îļþ

PHP Ìṩ´¦Àí JSON µÄÄÚ½¨º¯Êý¡£

ͨ¹ýʹÓà PHP º¯Êý json_encode()£¬PHP ÖеĶÔÏó¿Éת»»Îª JSON£º

PHP Îļþ

<?php
$myObj->name = "Bill Gates";
$myObj->age = 62;
$myObj->city = "Seattle";

$myJSON = json_encode($myObj);

echo $myJSON;
?>

ÏÔʾ PHP Îļþ

¿Í»§¶Ë JavaScript

ÕâÊǿͻ§¶ËÉ쵀 JavaScript£¬Ê¹Óà AJAX µ÷ÓÃÀ´ÇëÇóÉÏÀýµÄ PHP Îļþ£º

ʵÀý

ʹÓà JSON.parse() °Ñ½á¹ûת»»Îª JavaScript ¶ÔÏó£º

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 Îļþ

¿Í»§¶Ë JavaScript

ÕâÊǿͻ§¶ËÉ쵀 JavaScript£¬Ê¹Óà AJAX µ÷ÓÃÀ´ÇëÇóÉÏÀýµÄ PHP Îļþ£º

ʵÀý

ÇëʹÓà JSON.parse() ½«½á¹ûת»»Îª JavaScript Êý×飺

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 ÊÇ·þÎñÆ÷¶Ë±à³ÌÓïÑÔ£¬Ó¦¸ÃÓÃÓÚÖ»ÄÜÓÉ·þÎñÆ÷Ö´ÐеIJÙ×÷£¬±ÈÈç·ÃÎÊÊý¾Ý¿â¡£

ÏëÏóһϷþÎñÆ÷ÉÏÓÐÒ»¸öÊý¾Ý¿â£¬°üº¬¿Í»§¡¢²úÆ·ºÍ¹©Ó¦ÉÌÊý¾Ý¡£

´Ë¿Ì£¬ÄúÐèÒªÇëÇó·þÎñÆ÷À´»ñÈ¡¡°¿Í»§¡±±íÖÐǰʮÌõ¼Ç¼£º

ʵÀý

ÇëʹÓà JSON.stringify() ½« JavaScript ¶ÔÏóת»»Îª 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();

Ç××ÔÊÔÒ»ÊÔ

Àý×Ó½âÊÍ£º

  • ¶¨Òå°üº¬ table ÊôÐÔºÍ limit ÊôÐԵĶÔÏó¡£
  • ½«Õâ¸ö¶ÔÏóת»»Îª 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 Îļþ½ÓÊÕµ½µÄ½á¹ûת»»Îª JavaScript ¶ÔÏ󣬻òÕßÊÇÔÚ±¾ÀýÖеģ¬Ò»¸ö JavaScriptÊý×飺

ʵÀý

ʹÓà JSON.parse() °Ñ JSON ת»»Îª JavaScript ¶ÔÏó£º

...
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 ·½·¨¡£

ÈçÐèʹÓà POST ·½·¨À´·¢ËÍ AJAX ÇëÇó£¬ÇëÖ¸¶¨¸Ã·½·¨ºÍÕýÈ·µÄÍ·²¿¡£

·¢Ë͵½·þÎñÆ÷µÄÊý¾ÝÏÖÔÚ±ØÐëÊÇ .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);
?>
VUE