跟大家講解下有關PHP JSON,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說PHP JSON,小編也收集到了有關PHP JSON的相關資料,希望大家看到了會喜歡。
目前,JSON已經成為最流行的數據交換格式之一,各大網站的API幾乎都支持它。本章節我們將為大家介紹如何使用 PHP 語言來編碼和解碼 JSON 對象。
從5.2版本開始,PHP原生提供json_encode()和json_decode()函數,前者用于編碼,后者用于解碼。
JSON 函數函數 描述
json_encode 對變量進行 JSON 編碼
json_decode 對 JSON 格式的字符串進行解碼,轉換為 PHP 變量
json_last_error 返回最后發生的錯誤
一、json_encode()PHP json_encode() 用于對變量進行 JSON 編碼,該函數如果執行成功返回 JSON 數據,否則返回 FALSE 。
語法
string json_encode ( $value [, $options = 0 ] )參數
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
先看一個數組轉換的例子:
$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}再看一個對象轉換的例子:
$obj->body = 'another post'; $obj->id = 21; $obj->approved = true; $obj->favorite_count = 1; $obj->status = NULL; echo json_encode($obj);結果為
{ "body":"another post", "id":21, "approved":true, "favorite_count":1, "status":null } 二. json_decode()PHP json_decode() 函數用于對 JSON 格式的字符串進行解碼,并轉換為 PHP 變量。
語法
mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
參數
json_string: 待解碼的 JSON 字符串,必須是 UTF-8 編碼數據
assoc: 當該參數為 TRUE 時,將返回數組,FALSE 時返回對象。
depth: 整數類型的參數,它指定遞歸深度
options: 二進制掩碼,目前只支持 JSON_BIGINT_AS_STRING 。
實例
以下實例演示了如何解碼 JSON 數據:
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true));?>以上代碼執行結果為:
object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5)} array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5)}來源:php中文網