53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: Working With JSON APIs
 | 
						|
---
 | 
						|
## Working With JSON APIs
 | 
						|
 | 
						|
A common use of JSON is to read data from a web server, and display the data in a web page.
 | 
						|
 | 
						|
This chapter will teach you how to exchange JSON data between the client and a PHP server.
 | 
						|
 | 
						|
### The PHP File
 | 
						|
 | 
						|
PHP has some built-in functions to handle JSON.
 | 
						|
 | 
						|
Objects in PHP can be converted into JSON by using the PHP function `json_encode()`:
 | 
						|
```php
 | 
						|
<?php
 | 
						|
$myObj->name = "John";
 | 
						|
$myObj->age = 30;
 | 
						|
$myObj->city = "New York";
 | 
						|
 | 
						|
$myJSON = json_encode($myObj);
 | 
						|
 | 
						|
echo $myJSON;
 | 
						|
?>
 | 
						|
```
 | 
						|
[Try it](https://www.w3schools.com/js/showphp.asp?filename=demo_file)
 | 
						|
 | 
						|
### The Client JavaScript
 | 
						|
 | 
						|
Here is a JavaScript on the client, using an AJAX call to request the PHP file from the example above:
 | 
						|
 | 
						|
#### Example
 | 
						|
 | 
						|
Use JSON.parse() to convert the result into a JavaScript object:
 | 
						|
 | 
						|
```js
 | 
						|
var xmlhttp = new XMLHttpRequest();
 | 
						|
xmlhttp.onreadystatechange = function() {
 | 
						|
    if (this.readyState == 4 && this.status == 200) {
 | 
						|
        var myObj = JSON.parse(this.responseText);
 | 
						|
        document.getElementById("demo").innerHTML = myObj.name;
 | 
						|
    }
 | 
						|
};
 | 
						|
xmlhttp.open("GET", "demo_file.php", true);
 | 
						|
xmlhttp.send(); 
 | 
						|
```
 | 
						|
 | 
						|
[Try it](https://www.w3schools.com/js/tryit.asp?filename=tryjson_php_simple)
 | 
						|
 | 
						|
### More Information:
 | 
						|
 | 
						|
- For more [check this link](https://www.w3schools.com/js/js_json_php.asp)
 |