phpjsondecode編碼(php json decode)

本文目錄一覽:

php json decode 中文亂碼

呵呵,如果你查看一下手冊就知道了,json_encode()這個函數只能編碼utf-8的字符,就是說你給他傳入的參數只能是utf-8格式。所以捏,你在encode之前,需要將你的漢字編碼轉化為utf-8的格式,然後再encode,這樣就不會有問題了。

如何在PHP中解析json

目前,JSON已經成為最流行的數據交換格式之一,各大網站的API幾乎都支持它。

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

一、json_encode()

該函數主要用來將數組和對象,轉換為json格式。先看一個數組轉換的例子:

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

由於json只接受utf-8編碼的字符,所以json_encode()的參數必須是utf-8編碼,否則會得到空字符或者null。當中文使用GB2312編碼,或者外文使用ISO-8859-1編碼的時候,這一點要特別注意。

二、索引數組和關聯數組

PHP支持兩種數組,一種是只保存”值”(value)的索引數組(indexed array),另一種是保存”名值對”(name/value)的關聯數組(associative array)。

由於javascript不支持關聯數組,所以json_encode()只將索引數組(indexed array)轉為數組格式,而將關聯數組(associative array)轉為對象格式。

比如,現在有一個索引數組

$arr = Array(‘one’, ‘two’, ‘three’);

echo json_encode($arr);

結果為:

[“one”,”two”,”three”]

三、類(class)的轉換

下面是一個PHP的類: class Foo { const ERROR_CODE = ‘404’; public $public_ex = ‘this is public’; private $private_ex = ‘this is private!’; protected $protected_ex = ‘this should be protected’; public function getErrorCode() { return self::ERROR_CODE; } }

現在,對這個類的實例進行json轉換:

$foo = new Foo;

$foo_json = json_encode($foo);

echo $foo_json;

輸出結果是

{“public_ex”:”this is public”}

可以看到,除了公開變量(public),其他東西(常量、私有變量、方法等等)都遺失了。

php怎樣接收整個json數組

PHP接收JSON格式的數據

在API服務中,目前流行採用json形式來交互。

給前端調用的接口輸出Json數據,這個比較簡單,只需要組織好數據,用json_encode($array) 轉化一下,前端就得到json格式的數據。

接收前端提交的json數據稍微複雜一點,原因是:PHP默認識別的數據類型是application/x-標準的數據類型。因此,對型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之類的內容無法解析,如果用$_POST數組來接收就會失敗!

此時可以使用$GLOBALS[‘HTTP_RAW_POST_DATA’] 或 file_get_contents(‘php://input’) 來獲取提交的數據

查看手冊,可以發現$GLOBALS[‘HTTP_RAW_POST_DATA’] 和 $_POST的區別:

$_POST:通過 HTTP POST 方法傳遞的變量組成的數組,是自動全局變量。

$GLOBALS[‘HTTP_RAW_POST_DATA’] :總是產生 $HTTP_RAW_POST_DATA 變量包含有原始的 POST 數據。此變量僅在碰到未識別 MIME 類型的數據時產生。$HTTP_RAW_POST_DATA 對於 enctype=”multipart/form-data” 表單數據不可用。也就是說基本上$GLOBALS[‘HTTP_RAW_POST_DATA’] 和 $_POST是一樣的。但是如果post過來的數據不是PHP能夠識別的,你可以用 $GLOBALS[‘HTTP_RAW_POST_DATA’]來接收,比如 text/xml 或者 soap 等等。

補充說明:PHP默認識別的數據類型是application/x-標準的數據類型。

在php中json_decode

總體來說是實現RSA加密

Crypt::decrypt($_COOKIE[‘AutoLoginAuth’],’123456′) 是加密$_COOKIE[‘AutoLoginAuth’] ,而123456是加密使用的公鑰。

json_decode 是數據轉化的一種格式,轉化後能生成JS格式的數據

array 調入數組

php怎麼json數據轉化為字符串

json數據本身就是一個字符串。

如果說轉換,只是說,php數組和json字符串之間的轉化,在這裡給你介紹php操作json的兩個函數

json_decode()  對 JSON 格式的字符串進行編碼 

說明 

mixed json_decode ( string $json [, bool $assoc ] ) 

接受一個 JSON 格式的字符串並且把它轉換為 PHP 變量 

參數 

json 

待解碼的 json string 格式的字符串。 

assoc 

當該參數為 TRUE 時,將返回 array 而非 object 。

返回值 

Returns an object or if the optional assoc parameter is TRUE, an associative array is instead returned.

json_encode — 對變量進行 JSON 編碼 

Report a bug 說明 

string json_encode ( mixed $value [, int $options = 0 ] ) 

返回 value 值的 JSON 形式 

Report a bug 參數 

value 

待編碼的 value ,除了resource 類型之外,可以為任何數據類型 

該函數只能接受 UTF-8 編碼的數據 

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/242714.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:51
下一篇 2024-12-12 12:51

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • JSON的MD5

    在Web開發過程中,JSON(JavaScript Object Notation)是最常用的數據格式之一。MD5(Message-Digest Algorithm 5)是一種常用…

    編程 2025-04-29
  • 使用Java將JSON寫入HDFS

    本篇文章將從以下幾個方面詳細闡述Java將JSON寫入HDFS的方法: 一、HDFS簡介 首先,先來了解一下Hadoop分布式文件系統(HDFS)。HDFS是一個可擴展性高的分布式…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 如何使用Newtonsoft datatable轉Json

    Newtonsoft DataTable 是一個基於.NET的JSON框架,也是一個用於序列化和反序列化JSON的強大工具。 在本文中,我們將學習如何使用Newtonsoft Da…

    編程 2025-04-28
  • JPRC – 輕鬆創建可讀性強的 JSON API

    本文將介紹一個全新的 JSON API 框架 JPRC,通過該框架,您可以輕鬆創建可讀性強的 JSON API,提高您的項目開發效率和代碼可維護性。接下來將從以下幾個方面對 JPR…

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • Python存為JSON的方法及實例

    本文將從以下多個方面對Python存為JSON做詳細的闡述。 一、JSON簡介 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於人閱…

    編程 2025-04-27
  • 使用Python獲取JSON並解析

    本文將介紹如何使用Python獲取JSON數據並解析相關內容。通過使用Python的第三方庫,我們可以輕鬆地處理JSON數據,包括讀取、提取和操作JSON數據。 一、獲取JSON數…

    編程 2025-04-27

發表回復

登錄後才能評論