㈠ php怎麼將數組數組轉化為json格式的數據
一、json_encode()
[php]view plain
<?php
$arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echojson_encode($arr);
?>
輸出
[php]view plain
{"a":1,"b":2,"c":3,"d":4,"e":5}
再看一個對象轉換的例子:
[php]view plain
$obj->body='anotherpost';
$obj->id=21;
$obj->approved=true;
$obj->favorite_count=1;
$obj->status=NULL;
echojson_encode($obj);
輸出
[php]view plain
{
"body":"anotherpost",
"id":21,
"approved":true,
"favorite_count":1,
"status":null
}
二、索引數組和關聯數組
PHP支持兩種數組,一種是只保存"值"(value)的索引數組(indexed array),另一種是保存"名值對"(name/value)的關聯數組(associative array)。
由於javascript不支持關聯數組,所以json_encode()只將索引數組(indexed array)轉為數組格式,而將關聯數組(associative array)轉為對象格式。
㈡ php 怎樣獲取 返回的json值提交到資料庫
PHP獲取JSON的數據可以使用內置的 json_decode() 就可以解碼為PHP變數,可根據自己需要的格式來進行格式化並提交到資料庫。
例如:
<?php
$json='{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_mp(json_decode($json));
var_mp(json_decode($json,true));
?>
將會輸出
object(stdClass)#1(5){
["a"]=>int(1)
["b"]=>int(2)
["c"]=>int(3)
["d"]=>int(4)
["e"]=>int(5)
}
array(5){
["a"]=>int(1)
["b"]=>int(2)
["c"]=>int(3)
["d"]=>int(4)
["e"]=>int(5)
}
㈢ php處理ajax怎麼返回json數據
/**************************************************************
*
* 將數組轉換為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,
'id'=>$_post['cid']
);
㈣ 如何在PHP中返回Json數據
不對。
返回json用的json_encode()方法沒錯,但是需要在頭部聲明格式。
php返回需要用json_encode()方法來將需要轉換的字元串轉換成json編碼格式(注意:僅僅更換文件內容,而返回的文件依然為文本格式且編碼為gtk)
所以,這里需要在php頭部聲明
header('Content-Type:text/json;charset=utf-8');
JSON(JavaScriptObject Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基於ECMAScript(歐洲計算機協會制定的js規范)的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網路傳輸效率。
json通常被作為配置文件,常見還有.ini
㈤ thinkphp中怎麼返回json數據
使用thinkphp框架開發,不知道如何返回JSON字元串,ajax無法調用 有三種方式可以返回
1、若是資料庫實體,可以使用toJson()方法
$user = User::get(1); echo $user->toJson();2、若非資料庫實體,可以使用json view方法,thinkphp除了實現response對象,還實現了jsonResponse若非數
$data = [ 'result'=>'success', 'msg'=>'操作成功!' ]; //class Json extends Response
return json($data);
3、若非資料庫實體,可以使用json_encode()方法:
$data = [ 'result'=>'success', 'msg'=>'操作成功!' ];
return json_encode($data);
thinkphp5 ajax如何返回json
㈥ php如何獲取json中數據
可以用$obj=>key 的方式直接讀取 也可以先轉換為數組 用遍歷數組的方法讀取
<?php
$json='{"a":100,"b":200,"c":300,"d":400,"e":500}';
//首先將json字元串轉換成關聯數組
$arr=json_decode($json,true);
//然後循環讀取數據
foreach($arras$item){
echo$item;
echo"<br/>";
}
?>
運行結果:
100
200
300
400
500
㈦ php怎麼返回json數據給ajax
json_encode
(PHP 5 >= 5.2.0, PECL json >= 1.2.0, PHP 7)
json_encode—Returns the JSON representation of a value
網頁鏈接
㈧ 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轉換就行了。
㈨ PHP是怎麼返回json格式的數據
PHP中要返回json格式數據,直接輸出,然後退出或者結束即可。示例如下:
$arr=array('name'=>'chinawinxp','site'=>'com');
echojson_encode($arr);
exit;
//或者exit(json_encode($arr));
㈩ ajax 怎麼處理php返回json數據
用json_encode()函數對數組進行JSON編碼。
<?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}[1]
當有中文字元時,當直接使用json_encode() 函數會使漢字不能正常顯示。 所以有了這個適用性比較廣的函數 ch_json_encode() 來解決這個問題。