PHP JSON

怪我咯
怪我咯原創
2017-01-16 16:35:071968瀏覽

目前,JSON已經成為最受歡迎的資料交換格式之一,各大網站的API幾乎都支援它。

本章節我們將為大家介紹如何使用 PHP 語言來編碼和解碼 JSON 物件。

從5.2版本開始,PHP原生提供json_encode()和json_decode()函數,前者用於編碼,後者用於解碼。

JSON 函數

函數                       描述

json_encode    _對變數為變數的解碼,轉換為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,一個陣列轉換的範例:

$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: 字串必須是的JDg 8 編碼資料

assoc: 當此參數為TRUE 時,將傳回數組,FALSE 時傳回物件。

depth: 整數類型的參數,它指定遞歸深度

options: 二進位掩碼,目前只支援 JSON_BIGINT_AS_STRING 。

實例

以下實例示範如何解碼 JSON 資料:

以上程式碼執行結果為:

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)
}

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn