科技知識動態:PHP JSON

導讀 跟大家講解下有關PHP JSON,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說PHP JSON,小編也收集到了有關PHP JSON的相關

跟大家講解下有關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中文網

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!