本文目錄一覽:
php怎麼打印出從服務器返回的原始json?
說明你得到的就是一個array,服務器沒有jsonencode(),你var_dump()一下看看,用這個來排除錯誤~
php 輸出json及顯示json中的中文漢字詳解及實例
php
輸出json及顯示json中的中文漢字
在php中,我們經常需要將數組輸出json,只需要使用json_encode函數處理一下數組即可,但有的時候數組裏面有中文,使用json_encode函數處理後中文字符被編碼成了Unicode,如何才能在json中顯示中文呢?請看下文。
首先介紹一下php輸出json格式:
一種最簡單的用法,就是把數組直接輸出為json,如下:
?php
$arr
=
array(‘p1’=’ni”hao’,’p2’=2,’ch’=’碼農你好!’);
$json
=
json_encode($arr);
echo
$json;
?
輸出的結果為:
{“p1″:”ni\”hao”,”p2″:2,”ch”:”\u7801\u519c\u4f60\u597d\uff01″}
這裡要注意:
雙引號在json中會被自動編碼為\”,這個很好理解,js中字符串中是不允許出來單引號、雙引號和反斜杠的。
中文字符被編碼成了Unicode
如果是寫接口,那直接這樣輸出就夠了,中文無需去做處理。等到了客戶端,再去把Unicode的中文轉成漢字即可。但如果要在服務器端直接輸出漢字出來,那我們可以做如下處理。
?php
$arr
=
array(‘p1’=’nihao’,’p2’=2,’ch’=’碼農你好!’);
$json
=
json_encode($arr);
echo
decodeUnicode($json);
function
decodeUnicode($str){
return
preg_replace_callback(‘/\\\\u([0-9a-f]{4})/i’,
create_function(
‘$matches’,
‘return
mb_convert_encoding(pack(“H*”,
$matches[1]),
“UTF-8”,
“UCS-2BE”);’
),
$str);
}
?
輸出:
{“p1″:”ni\”hao”,”p2″:2,”ch”:”碼農你好!”}
這個操作很簡單,其實就是把輸出結果匹配一下,把Unicode還原成了漢字。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
用php解析json裏面的內容,然後打印出來
?php
$str = file_get_contents(“;postid=5036983946902”);
$arr = json_decode($str, 1);
print_r($arr);
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/130088.html