php格式化json
A. php 怎麼 字元串 轉 json對象
需要准備的材料分別是:電腦、php編輯器、瀏覽器。
1、首先,打開php編輯器,新建php文件,例如:index.php,裡面定義了個一個json字元串。
B. php 如何聲明返回數據格式為 JSON
xml格式返回的是數據一般是這樣的,但也有不同:
<?xml version="1.0" encoding="gbk"?> <root> <head> <actdate>20170805</actdate> <trdate>20170805</trdate> <trtime>142410</trtime> <trseq>20170807001</trseq> <succflag>1</succflag> <retcode>0000</retcode> <retmsg>鎴愬姛</retmsg> </head> <body> <rowcount>0</rowcount> </body> </root>
一般xml直接用php的:simplexml_load_string();解析成數組,但我解析的時候提示:有無法解析的數據編碼。
也就是數據亂碼的那部分,解決亂碼我用了header的聲明,但不管用,最後用了:
iconv('utf-8','gbk',$a);
問題解決,先轉碼,後解析
最後json轉換就行了。
C. 用php如何將數據(文本和圖片)轉換成json格式
前台:
<form action="跳轉頁面" method="post" enctype="multipart/form-data">
<input type="file" name="fname" />
<input type="submit" value="Submit" />
</form>
input[type=file] 表示:需要上傳的文本或者圖片
後台:
echo json_encode($_POST); // 輸出json 字元串
輸出的內容是上傳到伺服器的文件路徑等相關信息
D. php怎麼將數組數組轉化為json格式的數據
一、json_encode()
[php]view plain
<?php
$arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echojson_encode($arr);
?>
{"a":1,"b":2,"c":3,"d":4,"e":5}
$obj->body='anotherpost';
$obj->id=21;
$obj->approved=true;
$obj->favorite_count=1;
$obj->status=NULL;
echojson_encode($obj);
{
"body":"anotherpost",
"id":21,
"approved":true,
"favorite_count":1,
"status":null
}
- 由於json只接受utf-8編碼的字元,所以json_encode()的參數必須是utf-8編碼,否則會得到空字元或者null。當中文使用GB2312編碼,或者外文使用ISO-8859-1編碼的時候,這一點要特別注意。
輸出
[php]view plain
再看一笑祥個對象轉換的例子:
[php]view plain
輸出
[php]view plain
二、索引數組和關聯數組
PHP支持兩種數組,一種是只保存"值"(value)的索引數組(indexed array),另一種是保存"名值對"(name/value)的關聯數組(associative array)。
由於javascript不支持關聯數組,所以json_encode()只將索引數組(indexed array)轉為數組格式,而將關聯數組(associative array)轉為對象格式。
E. PHP生成多維數組的json格式
php中將數組格式換換為json格式可以使用 json_encode函數。
示例代碼如下:
<?php
//定義數組
$arr=array('city'=>array('北京','上海','廣州'),'order'=>array(1,2,3));
//將數組轉換為json格式
var_mp(json_encode($arr));
?>
json格式效果:
F. 如何將php的變數值轉換為json值
當php變數為數組的時候,通常會需要轉化為json數據格式。使用內置php內置函數json_encode()來完成轉化。轉化完成後一般會遇到另一個頭疼的問題,就是中文轉化成json格式後會出現亂碼的情況,針對這種情況,通常會先經過urlencode處理然後再經過urldecode進行反處理。這樣處理後就可以解決亂碼的問題了。
G. 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遇到問題不要氣餒呀
H. PHP 怎麼字元串轉換成json格式輸出
你這個不就是json字元串么?
php裡面有2個函數:json_encode和json_decode
查一下手冊就可以解決了。
json_decode($str,true)可以得到數組,第二參數不加默認為false,得到對象。