聯(lián)系官方銷售客服
1835022288
028-61286886
在httpapi插件中,接口數(shù)據(jù)使用php代碼,我將參數(shù)以JSON格式用base64編碼后傳入,在后臺(tái)解碼后使用,文件的代碼如下:
$cans = \Phpcmf\Service::L('input')->get('cans');
$cans = strToUtf8(base64_decode($cans));
$return = [
$get['cxb'] =>$cans.cxb,
$get['cxzd'] =>$cans.cxzd,
$get['cxtj'] =>$cans.cxtj,
];
function strToUtf8($str){
$encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));
if($encode == 'UTF-8'){
return $str;
}else{
return mb_convert_encoding($str, 'UTF-8', $encode);
}
}
返回?cái)?shù)據(jù)能正常解碼,可數(shù)據(jù)內(nèi)容有點(diǎn)怪,請(qǐng)高手幫看看是什么原因。
傳入的參數(shù)編碼前為:{"cxb":"abc","cxzd":["字段A","字段B","字段C"],"cxtj":[{"字段A":">=5","字段C":"DESC"}]}
編碼后為:eyJjeGIiOiJhYmMiLCJjeHpkIjpbItfWts5BIiwi19a2zkIiLCLX1rbOQyJdLCJjeHRqIjpbeyLX1rbOQSI6Ij49NSIsItfWts5DIjoiREVTQyJ9XX0=
可返回值變成:{"code":1,"msg":"ok","data":{"":"{\"cxb\":\"abc\",\"cxzd\":[\"字段A\",\"字段B\",\"字段C\"],\"cxtj\":[{\"字段A\":\">=5\",\"字段C\":\"DESC\"}]}cxtj"}}
data中的鍵名是空,后面又多了個(gè)cxtj。
正常的應(yīng)該是返回 data內(nèi)容為{\"cxb\":\"abc\",\"cxzd\":[\"字段A\",\"字段B\",\"字段C\"],\"cxtj\":[{\"字段A\":\">=5\",\"字段C\":\"DESC\"}]}才對(duì),為何多出了些東西?
我記得php里面不能寫這種點(diǎn)語法吧?
回復(fù)@玖愛一生 要如何寫?我是PHP小白
已解決,改為: $return = json_decode($cans,1);說行了,暈