PHP JSON

PHP JSON 函数

JSON 函数
函数说明
json_encode($str) 对变量进行 JSON 编码。

PHP json_encode() 函数用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。

json_decode($jsonStr)对 JSON 格式的字符串进行解码,转换为 PHP 变量。
json_last_error()返回最后发生的错误。

JSON_encode()

					
/*
 *   $value: 要编码的值。该函数只对 UTF-8 编码的数据有效。
 * $options: 由以下常量组成的二进制掩码 
 * JSON_HEX_QUOT、JSON_HEX_TAG、JSON_HEX_AMP、JSON_HEX_APOS、JSON_NUMERIC_CHECK、JSON_PRETTY_PRINT、JSON_UNESCAPED_SLASHES
 * JSON_FORCE_OBJECT、JSON_PRESERVE_ZERO_FRACTION、JSON_UNESCAPED_UNICODE、JSON_PARTIAL_OUTPUT_ON_ERROR。
 * 如果不希望中文被编码,可以添加 JSON_UNESCAPED_UNICODE 选项。
 * return string: 返回 JSON 数据。
 */
string json_encode($value [, $options = 0])

/*
 * PHP 数组转 JSON 
 */
<?php
  $arr = array('a'=>1, 'b'=>2, 'c'=>3, 'd'=>4, 'e'=>5);
  echo json_encode($arr);       //输出结果为:{"a":1,"b":2,"c":3,"d":4,"e":5}
 ?>

/*
 * PHP 对象转 JSON
 */
<?php
  class People {
    public $name = "";
    public $years = "";
    public $job = "";
    public $address = "";
  }
  $wanghao = new People();
  $wanghao->name = "wanghao";
  $wanghao->years = "18";
  $wanghao->job = "教师";
  $wanghao->address = "解放路6号";

  echo json_encode($wanghao);    //输出:{"name":"wanghao","years":"18","job":"教师","address":"解放路6号"}
  echo json_encode($wanghao, JSON_UNESCAPED_UNICODE);   //输出:{"name":"wanghao","years":"18","job":"教师","address":"解放路6号"}
 ?>
					
				

json_decode()

					
/*
 * $json_string: 待解码的 JSON 字符串,必须是 UTF-8 编码数据。
 *       $assoc: true 返回数组,false 返回对象。
 *    
 */
mixed json_decode ($json_string [, $assoc = false [, $depth = 512 [, $options = 0 ]]])
					
				

PHP 返回 JSON 数据

					
header('Content-Type:application/json; charset=utf-8');
$arr = array('a'=>1,'b'=>2);
exit(json_encode($arr));
					
				

说明:

					
var data = eval("(" + data + ")");
					
				

PHP 返回 XML 数据

					
header('Content-Type:text/xml; charset=utf-8');
exit($xml);