當前位置:首頁 » 編程語言 » phpjsonencode

phpjsonencode

發布時間: 2022-09-07 08:14:43

php json_encode 變數如何轉換成數組

1json_decode(json數據, true); //得到一個數組
json_encode()函數和json_decode()是一對函數
作用剛好相反
一個是將數組轉換成json數據
一個是將json數據轉換成數組

Ⅱ php中json_encode參數為true是什麼意思

true返回值是數組,否則返回值為object。

Ⅲ php echo json_encode一個數組,為什麼不輸出任何東西,代碼如下

用var_mp函數看下json_encode的值,如果編碼異常,則返回值為false
false用echo列印是看不見的

Ⅳ PHP中json_encode中文亂碼問題

php 中使用 json_encode() 內置函數(php > 5.2)可以使用得 php 中數據可以與其它語言很好的傳遞並且使用它。這個函數的功能是將數值轉換成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_encode中文亂碼問題
解決方法是用urlencode()函數處理以下,在json_encode之前,把所有數組內所有內容都用urlencode()處理一下,然用json_encode()轉換成json字元串,最後再用urldecode()將編碼過的中文轉回來
*/
function arrayrecursive(&$array, $function, $apply_to_keys_also = false)
{
static $recursive_counter = 0;
if (++$recursive_counter > 1000) {
die('possible deep recursion attack');
}
foreach ($array as $key => $value) {
if (is_array($value)) {
arrayrecursive($array[$key], $function, $apply_to_keys_also);
} else {
$array[$key] = $function($value);
}
if ($apply_to_keys_also && is_string($key)) {
$new_key = $function($key);
if ($new_key != $key) {
$array[$new_key] = $array[$key];
unset($array[$key]);
}
}
}
$recursive_counter--;
}
/**************************************************************
*
* 將數組轉換為json字元串(兼容中文)
* @param array $array 要轉換的數組
* @return string 轉換得到的json字元串
* @access public
*
*************************************************************/
function json($array) {
arrayrecursive($array, 'urlencode', true);
$json = json_encode($array);
return urldecode($json);
}
$array = array
(
'name'=>'希亞',
'age'=>20
);
echo json($array);
//應用實例
$servname="localhost";
$sqlservname="root";
$sqlservpws="123456";
$sqlname="lock1";
$db=mysql教程_connect($servname,$sqlservname,$sqlservpws) or die("資料庫教程連接失敗");
mysql_select_db($sqlname,$db);
$sql = "select * from t_operater";
$result =mysql_query($sql);
$rows = mysql_num_rows($result);
while($obj = mysql_fetch_object($result))
{
$arr[] = $obj;
}
echo '({"total":"'.$rows.'","results":'.json_encode($arr).'})';

Ⅳ 如何讓php jsonencode 不轉義unicode

方法有兩種

1:php版本大於等於5.4,在使用json_encode的時候加入第二個參數JSON_UNESCAPED_UNICODE:如

//這樣使用中文可不會被轉義
$jsonStr=json_encode($data,JSON_UNESCAPED_UNICODE);

2:如果php版本小於5.4,可以使用這種方法,對unicode碼再進行解碼,解碼函數如下:

/**
*因php版本小於5.4
*decodeUnicode對中文編碼unicode進行反轉義為漢字
*@param$strjson字元串
*@return轉義後的json字元串
*/
functiondecodeUnicode($str)
{
returnpreg_replace_callback('/\\u([0-9a-f]{4})/i',
create_function(
'$matches',
'returnmb_convert_encoding(pack("H*",$matches[1]),"UTF-8","UCS-2BE");'
),
$str);
}

//使用方法
$jsonStr=decodeUnicode(json_encode($data));
//或者單獨封裝一個函數
function_json_encode($data=array()){
returndecodeUnicode(json_encode($data));
}

Ⅵ PHP中json_encode返回的值無法被前端識別

你可以嘗試兩個辦法:
1- 前端把dataType: 'json'改成 dataType: 'jsonp'
2- 後端在 echo 前使用命令 header('Content-type:text/json') 可能還額外需要 header('char-set:utf-8');

Ⅶ php使用json_encode將資料庫里的整張表轉成json格式的問題

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,我們稱之為JavaScript對象表示法。使用JSON進行數據傳輸的優勢之一是JSON實際上就是JavaScript。
你試試下面兩個
1>
$arr = array(
0 => array("id" => 1, "name" => "abc")
);

echo json_encode($arr);
2>
$arr = array("id" => 1, "name" => "abc");
echo json_encode($arr);

Ⅷ 在PHP使用json_encode

Json
做為一種輕量級的數據交換格式,開始受到親睞,有與
XML
搶地盤的風頭。而讓人高興的是,php也把
json
序列化數據的功能內置成函數了,這讓想使用json的
PHPCoder
備感方便。
美中不足的是,json_encode
/
json_decode
系列函數只有在
php5.2
以上才有。這讓立志開發兼容性強的PHP系統的coder很頭痛。
幸好,已經有人把
json
的方法封裝成
php4.x
系列甚至更低的版本都可以執行的類了。這里要先謝謝先驅了。讓我們可以踩在巨人的肩膀上走向成功。
這里了解更多:http://code.itlearner.com/php/JSON-class.html
使用方法:
if(
function_exists("json_encode")
)
{

return
json_encode($phparr);
}
else
{

require_once
ROOT."include/json.class.php";

$json
=
new
Services_JSON;

return
$json->encode($phparr);
}

Ⅸ php 中 json_encode 只保留 value

循環將每個數組的值裝入一個新數組,然後將新數組轉換成json格式即可實現。示例如下:

<?php
header("Content-type:text/html;charset=utf-8;");
$str='[{"id":"1","數據1":"11","數據2":"12"},{"id":"2","數據1":"21","數據2":"22"},{"id":"3","數據1":"31","數據2":"32"}]';
$data=json_decode($str,true);
$arr=array();
foreach($dataas$key=>$item){
$arr[]=array_values($item);

}
print_r(json_encode($arr));
//[["1","11","12"],["2","21","22"],["3","31","32"]]
?>

Ⅹ 請求外部介面返回json數據,php json_encode解碼出現問題,有些數據無法顯示。

一般使用php發送請求,獲取返回的數據,進行解析;
<?php
$url="介面地址";
//發送請求獲取返回值,file_get_contents只支持get請求,post使用curl
$json = file_get_contents($url);
//把json數據轉化成數組
$data = json_decode($json,true);
//列印看看
print_r($data);
?>

熱點內容
視酷聊天源碼 發布:2025-01-13 14:22:55 瀏覽:277
源碼輸出電視盒 發布:2025-01-13 14:16:54 瀏覽:172
D演算法求矩陣 發布:2025-01-13 14:16:20 瀏覽:136
商城前端源碼 發布:2025-01-13 14:08:43 瀏覽:48
每個人身上都有密碼是什麼 發布:2025-01-13 14:08:40 瀏覽:472
怎麼看java 發布:2025-01-13 13:54:18 瀏覽:10
沒腳本導演 發布:2025-01-13 13:52:22 瀏覽:339
獲取android簽名 發布:2025-01-13 13:40:21 瀏覽:595
單片機編譯器和驅動 發布:2025-01-13 13:31:33 瀏覽:440
tis伺服器怎麼進pe 發布:2025-01-13 13:31:02 瀏覽:277