⑴ php 將json格式數據轉換成數組的方法
如下所示:
//json格式數據
$data
=
'[{
"F_MoleId":
"1",
"F_ParentId":
"0",
"F_EnCode":
"SysManage",}]';
//轉換成數組
$arr
=
json_decode($data,true);
//輸出
var_mp($arr);
以上這篇php
將json格式數據轉換成數組的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:PHP使用JSON和將json還原成數組在PHP語言中使用JSON和將json還原成數組的方法PHP實現數組轉JSon和JSon轉數組的方法示例php
json轉換成數組形式代碼分享php數組轉成json格式的方法
⑵ php轉換成json數據格式
json和php數組 格式的互相轉換,參考如下:$php_json = json_encode($json_arr); //把php數組格式轉換成 json 格式的數據echo $php_json;$php_json = json_decode($php_json); //再把json格式的數據轉換成php數組print_r($php_json);json數組$json = '[{"id":"22","name":"33","descn":"44"}]'; //json格式的數組轉換成 php的數組$arr = (Array)json_decode($json);echo $arr[0]->id; //用對象的方式訪問
像這樣的問題很常見,沒必要在到處問,你多在後盾找找就不必這么麻煩了
⑶ php json返回的是什麼格式的數據格式
php 輸出JSON格式,使用json_encode函數即可
例如:
<?php
header('Content-type: text/json');
$fruits = array (
"fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);
echo json_encode($fruits);
?>
得到結果:
{"fruits":{"a":"orange","b":"banana","c":"apple"},"numbers":[1,2,3,4,5,6],"holes":{"0":"first","5":"second","6":"third"}}
⑷ php轉換成json數據格式
json和php數組 格式的互相轉換,參考如下:
$php_json = json_encode($json_arr); //把php數組格式轉換成 json 格式的數據
echo $php_json;
$php_json = json_decode($php_json); //再把json格式的數據轉換成php數組
print_r($php_json);
json數組
$json = '[{"id":"22","name":"33","descn":"44"}]'; //json格式的數組轉換成 php的數組
$arr = (Array)json_decode($json);
echo $arr[0]->id; //用對象的方式訪問
⑸ PHP是怎麼返回json格式的數據
PHP中要返回json格式數據,直接輸出,然後退出或者結束即可。示例如下:
$arr=array('name'=>'chinawinxp','site'=>'com');
echojson_encode($arr);
exit;
//或者exit(json_encode($arr));
⑹ PHP JSON格式的中文顯示問題解決方法
返回json數據中文顯示的問題
上一篇文章中,返回json格式的中文顯示成\u5723\u8bde\u8282\u5343\u4e07\u597d\u793c\u5927\u5949\u9001
解決方法一:
復制代碼
代碼如下:
<?php
function
Notice(){
include
'./include/conn.php';
//資料庫鏈接文件
$sql_notice
=
mysql_query('SELECT
*
FROM
gg_notice
where
enable
=
"1"
limit
0,10');
$notice
=
mysql_fetch_array($sql_notice,
MYSQL_ASSOC);
$str
=
json_encode($notice);
//linux
return
preg_replace("#\\\u([0-9a-f]{4})#ie",
"iconv('UCS-2BE',
'UTF-8',
pack('H4',
'\\1'))",
$str);
//windows
//return
preg_replace("#\\\u([0-9a-f]{4})#ie",
"iconv('UCS-2LE',
'UTF-8',
pack('H4',
'\\1'))",
$str);
}
?>
另外從網上搜索到的其他方法
復制代碼
代碼如下:
<?php
/**
*
json
生成,分析
支持中文
*/
class
Json_Helper
{
/**
*
生成json
*/
public
static
function
encode($str){
$json
=
json_encode($str);
//linux
return
preg_replace("#\\\u([0-9a-f]{4})#ie",
"iconv('UCS-2BE',
'UTF-8',
pack('H4',
'\\1'))",
$json);
//windows
//return
preg_replace("#\\\u([0-9a-f]{4})#ie",
"iconv('UCS-2LE',
'UTF-8',
pack('H4',
'\\1'))",
$json);
}
/**
*
分析json
*/
public
static
function
decode($str)
{
return
json_decode($str);
}
}
?>
⑺ 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);
["世界","你好"]
看吧,這才是我們想要的結果 :)
⑻ php可以JSON輸出json格式嗎
json格式與語言無關,任何語言都可以輸出json格式的數據。
不過js可以直接json數據轉為對象,很方便。
在Php5.2以後內置了json函數,
json_encode json_decode
示例
<?php
$arr = array ('aa'=>1,'ab'=>2,'ac'=>3,'d'=>4);
echo json_encode($arr);
?>
輸出:{"aa":1,"ab":2,"ac":3,"d":4}
值得注意,php文件編碼最好是utf-8模式
⑼ php可以JSON輸出json格式嗎
php直接輸出json格式,有一個誤區,以為用echo json_encode($data);這樣就是輸出json數據了,沒錯這樣輸出文本是json格式文本而不是json數據,正確的寫法是應該加一句:
<?php
header('Content-type:text/json');
//這句是重點,它告訴接收數據的對象此頁面輸出的是json數據;
$json={"name":"yovae","password":"12345"};
//雖然這行數據形式上是json格式,如果沒有上面那句的話,它是不會被當做json格式的數據被處理的;
echo $json;
?>你看過後很簡單吧以後不會可以向我一樣經常到後盾人平台找找相關教材看看就會了,希望能幫到你,給個採納吧謝謝( ̄(エ) ̄)
⑽ php怎麼接收json數據格式
PHP接收JSON格式的數據
在API服務中,目前流行採用json形式來交互。
給前端調用的介面輸出Json數據,這個比較簡單,只需要組織好數據,用json_encode($array) 轉化一下,前端就得到json格式的數據。
接收前端提交的json數據稍微復雜一點,原因是:PHP默認識別的數據類型是application/x-www.form-urlencoded標準的數據類型。因此,對型如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 等等。