[PHP][JSON]介紹

閱讀時間約 3 分鐘

JSON(JavaScript Object Notation)是AJAX(參考:[PHP][AJAX]介紹)常用的資料交換格式。在PHP有提供函數,可以將資料轉換成JSON。除外JSON比XML快速且簡單。

語法

  • 資料是由鍵和值(Key-value)組成。
  • 鍵和值之間用「:」區隔。
  • 資料之間用「,」做區隔。
  • 用大括號定義物件。
  • 用方括號定義陣列。


例如:

{
"id": 1,
"name": "Tom",
"phoneNumber": ["0912345678", "0987654321"]
"child": [
{ "id": 2, "name": "Jack"},
{ "id": 3, "name": "Joe"}]
}


PHP轉JSON

$data = array('Tom','Jack');
$json_string = json_encode($data);

json_encode()有兩個參數,第一個要轉換的資料,第二個對資料內容做特殊轉換。底下為常用的轉換參數:

  • JSON_HEX_TAG:將「<」轉換成「\u003C」;將「>」轉換成「\u003E」。
  • JSON_HEX_AMP:將「&」轉換成「\u0026」。
  • JSON_HEX_APOS:將「'」轉換成「\u0027」
  • JSON_HEX_QOUT:將「"」轉換成「\u0022」
  • JSON_FORCE_OBJECT:轉換結果為物件,不是陣列。


JSON轉PHP

$data = array('Tom','Jack');
$json_string = json_encode($data);
$json_array = json_dencode($json_string);

json_dencode()有三個參數,第一個要轉換的資料,第二個是選擇輸出物件或陣列(預設值為FALSE,輸出的是物件),第三個是選擇遞迴深度(預設值為512)。


轉換錯誤

switch(json_last_error()) {
case JSON_ERROR_NONE:
echo "轉換成功...";
break;
case JSON_ERROR_SYNTAX:
echo "錯誤!語法錯誤...";
break;
case JSON_ERROR_DEPTH:
echo "錯誤!超過最大允許的遞迴深度...";
break;
case JSON_ERROR_CTRL_CHAR:
echo "錯誤!控制字元錯誤...";



avatar-img
8會員
123內容數
嗨,我是一名程式設計師,會在這分享開發與學習紀錄。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
小黑與程式的邂逅 的其他內容
AJAX(Asynchronous JavaScript And XML)為JavaScript和XML的非同步技術,可以讓瀏覽器建立快速、更加和容易使用的操作介面。AJAX核心技術是非同步的HTTP請求(Asynchronous HTTP Requests),除了第一次載入網頁外,HTTP請求是在
Laravel是一個以MVC(參考:[設計模式]MVC)為架構的PHP Web框架。Laravel支援使用者身份驗證和授權,提供模組化套件系統。Laravel使用Blade模板系統將PHP程式碼與HTML網頁分離。 安裝環境 下載安裝composer https://getcomposer.o
這邊分三個部分:新增、檢視和寄送郵件給留言者。 新增 底下是HTML的輸入內容的程式碼: <table border="1"> <tr> <td><font size="2">姓名:</font></td> <td><input type="text" size="30"
底下是HTML的上傳檔案程式碼: <form action="upload.php" method="post" enctype="multipart/form-data"> 選擇檔案: <input type="file" name="file"/><hr/> <input typ
購物車(Shopping cart)是採購商品時,很重要的工具。 此篇是使用Cookie建立購物車。 從HTML的下拉式選單選擇商品,並輸入數量,然後加入購物車。而在購物車中,可以刪除商品。 底下是HTML的下拉式選單程式碼: <select name="Item"> <option v
檔案屬性 filetype(string):回傳參數檔案的種類字串,可能的回傳值有:fifo、char、dir、block、link、file和unknown,如果有錯誤回傳false。 fileatime(string):回傳參數檔案的最後存取時間,單位是UNIX的時間戳記,如果錯誤回傳fal
AJAX(Asynchronous JavaScript And XML)為JavaScript和XML的非同步技術,可以讓瀏覽器建立快速、更加和容易使用的操作介面。AJAX核心技術是非同步的HTTP請求(Asynchronous HTTP Requests),除了第一次載入網頁外,HTTP請求是在
Laravel是一個以MVC(參考:[設計模式]MVC)為架構的PHP Web框架。Laravel支援使用者身份驗證和授權,提供模組化套件系統。Laravel使用Blade模板系統將PHP程式碼與HTML網頁分離。 安裝環境 下載安裝composer https://getcomposer.o
這邊分三個部分:新增、檢視和寄送郵件給留言者。 新增 底下是HTML的輸入內容的程式碼: <table border="1"> <tr> <td><font size="2">姓名:</font></td> <td><input type="text" size="30"
底下是HTML的上傳檔案程式碼: <form action="upload.php" method="post" enctype="multipart/form-data"> 選擇檔案: <input type="file" name="file"/><hr/> <input typ
購物車(Shopping cart)是採購商品時,很重要的工具。 此篇是使用Cookie建立購物車。 從HTML的下拉式選單選擇商品,並輸入數量,然後加入購物車。而在購物車中,可以刪除商品。 底下是HTML的下拉式選單程式碼: <select name="Item"> <option v
檔案屬性 filetype(string):回傳參數檔案的種類字串,可能的回傳值有:fifo、char、dir、block、link、file和unknown,如果有錯誤回傳false。 fileatime(string):回傳參數檔案的最後存取時間,單位是UNIX的時間戳記,如果錯誤回傳fal
你可能也想看
Google News 追蹤
Thumbnail
JSON.parse:將 JSON 格式的字串轉換為 JavaScript 物件,常用於解析後端返回的資料或本地存儲中的 JSON。JSON.stringify:將 JavaScript 的物件或陣列轉換為 JSON 格式字串,方便用於資料儲存或傳輸。
Thumbnail
在這一章中,我們探討了 PHP 中的函數,包括函數的基本結構、不同的函數定義方式(如函數聲明、函數表達式、箭頭函數和匿名函數)以及如何呼叫函數。我們還討論了函數的參數處理方式,包括單個參數、多個參數、預設參數值和剩餘參數。此外,我們還介紹了函數的返回值,包括返回單個值、返回物件和返回函數的情況。
Thumbnail
在本節中,我們介紹了PHP的基本語法,包括如何在HTML中嵌入PHP代碼,PHP腳本的執行順序,以及多種註解方式。我們還學習了如何定義和使用變數,包括單個變數和多個變數的賦值方法。這些基礎知識將幫助你開始使用PHP進行Web開發。
解讀JSON 字串 首先,你需要使用 Python 的 json 模組來解讀JSON 字串。 JSON的基本結構: 由花括號 {} 包圍,內部是鍵值對的集合,每個鍵值對之間用逗號分隔。 鍵是字串類型,值可以是任何JSON支持的資料類型(字串、數字、布林值、陣列、物件或 null)。 {
Thumbnail
JSON(JavaScript Object Notation)是一種用於資料交換的輕量級資料格式,通常用於網路應用程式之間的資料傳遞。 JSON的格式易於閱讀和撰寫,也易於解析和產生,因此它在開發中被廣泛使用。 JSON由兩種結構組成:物件(Object)和陣列(Array)。
※ 常用Object(物件)型態的方法: 拿到object裡面某個key的value(值): 拿到所有屬性: ※ 存取物件屬性:點記法與括號記法 使用點記法 (dot notation) 或括號記法 (bracket notation) 來存取物件的值,以下兩種寫法的結果是一樣的: //
※ 常用arry型態的方法: 長度: length 查詢第N個元素: [] 查詢元素在第N個: indexOf( ) 判斷是否為array: isArray() 新增和刪除: push():新增後面的數值 unshift():新增前面的數值 pop():刪除後面的數值 sh
Thumbnail
JS 資料型別分為兩大類,原始型別 (Primitive values) 和物件型別 (Objects)。
Thumbnail
JSON 格式因為其輕巧、易於讀寫的特性,所以普遍應用於數據儲存。本文將介紹如何使用 Python 來讀取、處理、解析和修改 JSON 檔案。
Thumbnail
JSON.parse:將 JSON 格式的字串轉換為 JavaScript 物件,常用於解析後端返回的資料或本地存儲中的 JSON。JSON.stringify:將 JavaScript 的物件或陣列轉換為 JSON 格式字串,方便用於資料儲存或傳輸。
Thumbnail
在這一章中,我們探討了 PHP 中的函數,包括函數的基本結構、不同的函數定義方式(如函數聲明、函數表達式、箭頭函數和匿名函數)以及如何呼叫函數。我們還討論了函數的參數處理方式,包括單個參數、多個參數、預設參數值和剩餘參數。此外,我們還介紹了函數的返回值,包括返回單個值、返回物件和返回函數的情況。
Thumbnail
在本節中,我們介紹了PHP的基本語法,包括如何在HTML中嵌入PHP代碼,PHP腳本的執行順序,以及多種註解方式。我們還學習了如何定義和使用變數,包括單個變數和多個變數的賦值方法。這些基礎知識將幫助你開始使用PHP進行Web開發。
解讀JSON 字串 首先,你需要使用 Python 的 json 模組來解讀JSON 字串。 JSON的基本結構: 由花括號 {} 包圍,內部是鍵值對的集合,每個鍵值對之間用逗號分隔。 鍵是字串類型,值可以是任何JSON支持的資料類型(字串、數字、布林值、陣列、物件或 null)。 {
Thumbnail
JSON(JavaScript Object Notation)是一種用於資料交換的輕量級資料格式,通常用於網路應用程式之間的資料傳遞。 JSON的格式易於閱讀和撰寫,也易於解析和產生,因此它在開發中被廣泛使用。 JSON由兩種結構組成:物件(Object)和陣列(Array)。
※ 常用Object(物件)型態的方法: 拿到object裡面某個key的value(值): 拿到所有屬性: ※ 存取物件屬性:點記法與括號記法 使用點記法 (dot notation) 或括號記法 (bracket notation) 來存取物件的值,以下兩種寫法的結果是一樣的: //
※ 常用arry型態的方法: 長度: length 查詢第N個元素: [] 查詢元素在第N個: indexOf( ) 判斷是否為array: isArray() 新增和刪除: push():新增後面的數值 unshift():新增前面的數值 pop():刪除後面的數值 sh
Thumbnail
JS 資料型別分為兩大類,原始型別 (Primitive values) 和物件型別 (Objects)。
Thumbnail
JSON 格式因為其輕巧、易於讀寫的特性,所以普遍應用於數據儲存。本文將介紹如何使用 Python 來讀取、處理、解析和修改 JSON 檔案。