55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: Working With JSON APIs
 | ||
| localeTitle: 使用JSON API
 | ||
| ---
 | ||
| ## 使用JSON API
 | ||
| 
 | ||
| JSON的一个常见用途是从Web服务器读取数据,并在网页中显示数据。
 | ||
| 
 | ||
| 本章将教您如何在客户端和PHP服务器之间交换JSON数据。
 | ||
| 
 | ||
| ### PHP文件
 | ||
| 
 | ||
| PHP有一些内置函数来处理JSON。
 | ||
| 
 | ||
| 可以使用PHP函数`json_encode()`将PHP中的对象转换为JSON:
 | ||
| 
 | ||
| ```php
 | ||
| <?php 
 | ||
|  $myObj->name = "John"; 
 | ||
|  $myObj->age = 30; 
 | ||
|  $myObj->city = "New York"; 
 | ||
|  
 | ||
|  $myJSON = json_encode($myObj); 
 | ||
|  
 | ||
|  echo $myJSON; 
 | ||
|  ?> 
 | ||
| ```
 | ||
| 
 | ||
| [试试吧](https://www.w3schools.com/js/showphp.asp?filename=demo_file)
 | ||
| 
 | ||
| ### 客户端JavaScript
 | ||
| 
 | ||
| 这是客户端上的JavaScript,使用AJAX调用从上面的示例请求PHP文件:
 | ||
| 
 | ||
| #### 例
 | ||
| 
 | ||
| 使用JSON.parse()将结果转换为JavaScript对象:
 | ||
| 
 | ||
| ```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(); 
 | ||
| ```
 | ||
| 
 | ||
| [试试吧](https://www.w3schools.com/js/tryit.asp?filename=tryjson_php_simple)
 | ||
| 
 | ||
| ### 更多信息:
 | ||
| 
 | ||
| *   有关更多信息, [请查看此链](https://www.w3schools.com/js/js_json_php.asp) |