php的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 等等。
② php轉換成json數據格式
其實就是把這3個結果並成一個數組,再轉就是了例如,$res1=mysql_query($sql1);$res2=mysql_query($sql2);$res3=mysql_query($sql3);定義一個新的數組$a=array();將3個結果壓入這個新的數組array_push($a,$res1);array_push($a,$res2);array_push($a,$res3);最後轉義輸出echojson_encode($a);LZ遇到問題不要氣餒呀
③ 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_encode()函數對數組進行JSON編碼。
有時候收不到可能是因為你返回的json格式被破壞了,最大的可能是信脊BOM導致的,不要使兄乎用系統自帶的記事本編輯滑塵滲utf8格式的php。
還有就是在json_encode()前面和後面不能有別的輸出。
最好使用exit(json_encode($array))來輸出。
⑤ PHP怎麼把多個數組揉成一個json字元串
<?php
//創建數組
$array = array(
"name" => "Hza",
"age" => 21
);
//數組轉化為json格式察咐
echo json_encode($array);
echo "<br />";
//創建類
class Student {
public $name;
public $age;
//初始化是賦值
function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
//魔術方法 把對象轉換成字元串格式 以備使用json_encode()函數
function __tostring() {
//對象轉敗悔純化為json格式
return json_encode($this,JSON_FORCE_OBJECT);
}
}
//實例化對象
$person1 = new Student('Hza', 20);
//輸出json格式
echo $person1;
?>
(5)php的json格式擴展閱讀:
json六個構造字元:
begin-array = ws %x5B ws ; [ 左方括弧
begin-object = ws %x7B ws ; { 左大前咐括弧
end-array = ws %x5D ws ; ] 右方括弧
end-object = ws %x7D ws ; } 右大括弧
name-separator = ws %x3A ws ; : 冒號
value-separator = ws %x2C ws ; , 逗號
在這六個構造字元的前或後允許存在無意義的空白符(ws):
ws = *(%x20 /; 空間
%x09 /; 水平標簽
%x0A /; 換行或換行
%x0D); 回程
⑥ 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輸出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格式
對於一個數組,可以使用json_encode()函數轉化為json格式
如:
$arr=array('name'=>'alpha','lang'=>'php');
$json=json_encode($arr);
如果想將json格式的數據轉化為數組,可以使用json_decode();
$arr=json_decode($json,true);
⑨ 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數據格式
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; //用對象的方式訪問