當前位置:首頁 » 編程語言 » phpjson轉字元串

phpjson轉字元串

發布時間: 2025-07-21 20:40:29

Ⅰ 後端php那裡接收到前端post給的json為什麼會是轉義字元串格式

1,有可能框架對整個參數,進行了者薯轉義,反轉義一遍即可首困者

2,有可能開啟了PHP的自動過濾功能,在php.ini中關閉即可

magic_quotes_gpc=On改尺隱為magic_quotes_gpc=Off

Ⅱ 如何正確運用PHP json_encode函數進行中文轉換

在 php 中使用 json_encode() 內置函數(php > 5.2)可以使用得 php 中數據可以與其它語言很好的傳遞並且使用它。這個函數的功能是將數值轉換成json數據存儲格式,但是轉換後的中文會變成Unicode編碼。x0dx0a[php] view plainprint?x0dx0a'希亞', x0dx0a 'Age'=>20 x0dx0a ); x0dx0a x0dx0a$jsonencode = json_encode($arr); x0dx0aecho $jsonencode; x0dx0a?> x0dx0a程序運行結果如下:x0dx0a[php] view plainprint?x0dx0a{"Name":null,"Age":20} x0dx0ajson_encode 函數中中文被編碼成 null 了,Google 了一下,很簡單,為了與前端緊密結合,Json 只支持 utf-8 編碼,我認為是前端的 Javascript 也是 utf-8 的原因。x0dx0a[php] view plainprint?x0dx0aiconv('gb2312','utf-8','這里是中文標題'), x0dx0a 'body'=>'abcd...' x0dx0a ); x0dx0a x0dx0aecho json_encode($array); x0dx0a?> x0dx0a這個程序的運行結果為:x0dx0a[php] view plainprint?x0dx0a{"title":"\u8fd9\u91cc\u662f\u4e2d\u6587\u6807\u9898","body":"abcd..."} x0dx0a數組中所有中文在json_encode之後都不見了或者出現\u2353等。解決方法是用urlencode()函數處理以下,在json_encode之前,把所有數組內所有內容都用urlencode()處理一下,然用json_encode()轉換成json字元串,最後再用urldecode()將編碼過的中文轉回來。x0dx0a[php] view plainprint?x0dx0a 1000) { x0dx0a die('possible deep recursion attack'); x0dx0a } x0dx0a foreach ($array as $key => $value) { x0dx0a if (is_array($value)) { x0dx0a arrayRecursive($array[$key], $function, $apply_to_keys_also); x0dx0a } else { x0dx0a $array[$key] = $function($value); x0dx0a } x0dx0a x0dx0a if ($apply_to_keys_also && is_string($key)) { x0dx0a $new_key = $function($key); x0dx0a if ($new_key != $key) { x0dx0a $array[$new_key] = $array[$key]; x0dx0a unset($array[$key]); x0dx0a } x0dx0a } x0dx0a } x0dx0a $recursive_counter--; x0dx0a} x0dx0a x0dx0a/************************************************************** x0dx0a * x0dx0a * 將數組轉換為JSON字元串(兼容中文) x0dx0a * @param array $array 要轉換的數組 x0dx0a * @return string 轉換得到的json字元串 x0dx0a * @access public x0dx0a * x0dx0a *************************************************************/ x0dx0afunction JSON($array) { x0dx0a arrayRecursive($array, 'urlencode', true); x0dx0a $json = json_encode($array); x0dx0a return urldecode($json); x0dx0a} x0dx0a x0dx0a$array = array x0dx0a ( x0dx0a 'Name'=>'希亞', x0dx0a 'Age'=>20 x0dx0a ); x0dx0ax0dx0aecho JSON($array); x0dx0a?> x0dx0a這次成功了,運行結果如下:x0dx0a[php] view plainprint?x0dx0a{"Name":"希亞","Age":"20"}

Ⅲ php怎麼json數據轉化為字元串

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

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

  1. 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.

  2. 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_encode後的json裡面的int類型變成string類型

json_encode($data);
json_encode($data, JSON_NUMERIC_CHECK);
默認是加雙引號,即作為字元串輸出,加上參數不加雙引號

Ⅳ php如何輸出中文json格式字元串

php如何輸出中文json格式字元串
如何對json格式的字元串進行轉換,php提供了兩個函數:
json_encode 對變數進行 JSON 編碼
json_decode 對 JSON 格式的字元串進行編碼

下面看個實例:
$arr = ['a', 'b', 'c'];echo json_encode($arr);

輸出為:
["a","b","c"]

但是,當我們在數組中放入中文的時候,就會出現問題:
$arr = [ '世界', '你好',
];echo json_encode($arr);

輸出的結果為:
["\u4e16\u754c","\u4f60\u597d"]

這個結果顯然不是我們想要的,但是為什麼出現這個呢?
因為當我們的值中包含中文時,php對他進行json編碼時底層會對中文進行unicode編碼,導致結果不可讀,那該怎麼解決呢?
方法一
可以利用 urlencode 和 urldecode 方法繞過這個轉碼為 unicode 的過程,先將中文欄位進行urlencode,然後json_encode,最後再用urldecode處理結果,便可以正常顯示中文。具體代碼如下:
$arr = [ '世界', '你好',
];echo urldecode(json_encode(array_map('urlencode', $arr)));

輸出結果為:
["世界","你好"]

方法二
自PHP5.4版本,官方就已經給Json新增了一個選項: JSON_UNESCAPED_UNICODE。加上這個選項後,就不會自動把中文編碼了。具體代碼如下:
$arr = [ '世界', '你好',
];echo json_encode($arr, JSON_UNESCAPED_UNICODE);
["世界","你好"]

看吧,這才是我們想要的結果 :)

熱點內容
dcu反編譯 發布:2025-07-22 02:21:50 瀏覽:161
比亞迪車機安卓什麼版本 發布:2025-07-22 02:19:46 瀏覽:983
負九源碼 發布:2025-07-22 02:00:52 瀏覽:760
老安卓機安裝什麼系統流暢 發布:2025-07-22 01:59:36 瀏覽:422
蘋果6新建文件夾 發布:2025-07-22 01:47:25 瀏覽:875
如何消除安卓手機上的懸浮小圈 發布:2025-07-22 01:45:15 瀏覽:282
如何使用雲存儲的伺服器 發布:2025-07-22 01:37:03 瀏覽:637
python中axis 發布:2025-07-22 01:04:05 瀏覽:446
我的世界如何在伺服器中安裝材質 發布:2025-07-22 01:04:04 瀏覽:718
android字元中文 發布:2025-07-22 01:03:30 瀏覽:633