本文目錄一覽:
- 1、phpmysql生成json中文亂碼
- 2、php怎麼json數據轉化為字元串
- 3、如何在PHP中解析json
- 4、PHP JSON 數據解析代碼
- 5、如何在PHP中返回Json數據
- 6、如何使用PHP語言來編碼和解碼JSON對象
phpmysql生成json中文亂碼
你好,這是json對中文處理後的編碼,不屬於亂碼,如果不想它編碼可以在json_encode的第二個參數加
JSON_UNESCAPED_UNICODE
。
json_encode($var,JSON_UNESCAPED_UNICODE);
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 編碼的數據
如何在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 數據解析代碼
使用此代碼可以順利解析人人連接網站POST獲取的數據。
複製代碼
代碼如下:
$json_string='{“id”:1,”name”:”jb51″,”email”:”admin@jb51.net”,”interest”:[“wordpress”,”php”]}
‘;
$obj=json_decode($json_string);
echo
$obj-name;
//prints
foo
echo
$obj-interest[1];
//prints
php
這裡是摘自腳本之家之前發布的文章。更多的技巧可以參考。
收集的二十一個實用便利的PHP函數代碼
如何在PHP中返回Json數據
概述
不對。
返回json用的json_encode()方法沒錯,但是需要在頭部聲明格式。
代碼解析
php返回需要用json_encode()方法來將需要轉換的字元串轉換成json編碼格式(注意:僅僅更換文件內容,而返回的文件依然為文本格式且編碼為gtk)
所以,這裡需要在php頭部聲明
header(‘Content-Type:text/json;charset=utf-8’);
拓展內容
json
JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基於 ECMAScript (歐洲計算機協會制定的js規範)的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網路傳輸效率。
json通常被作為配置文件,常見還有.ini
如何使用PHP語言來編碼和解碼JSON對象
數組轉json
?php
$arr =array (‘a’=1,’b’=2,’c’=3,’d’=4,’e’=5);
echo json_encode($arr);
?
json轉數組
$json ='{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5}’;
var_dump(json_decode($json,true));
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/246602.html