Heim >Backend-Entwicklung >PHP-Tutorial >php做为接口返回数据问题

php做为接口返回数据问题

WBOY
WBOYOriginal
2016-06-23 13:45:592304Durchsuche

php做为接口返回数据问题
有数据的时候返回的是{"status":"0","message":"\u9a8c\u8bc1\u7801\u9519\u8bef","data":{"a":"1"}},其中data里的是数组$result,如果$result为空的话,$result = array();   输出{"status":"0","message":"\u9a8c\u8bc1\u7801\u9519\u8bef","data":[]},返回的data就是中括号了,如何把data换成大括号,{"status":"0","message":"\u9a8c\u8bc1\u7801\u9519\u8bef","data":{}}这种形式呢?


回复讨论(解决方案)

一般没有必要,不然得重新写过了

一般没有必要,不然得重新写过了


没办法,前端IOS和安卓催的紧,非得要求这种格式

返回时是这样的
echo json_encode($array);
你改成这样的
echo str_replace('[]', '{}', json_encode($array));

用JSON_FORCE_OBJECT参数即可

<?php$a=array();var_dump(json_encode($a,JSON_FORCE_OBJECT));$a=array(1,2,3);var_dump(json_encode($a,JSON_FORCE_OBJECT));$a=array("ret"=>0);var_dump(json_encode($a,JSON_FORCE_OBJECT));



string(2) "{}"string(19) "{"0":1,"1":2,"2":3}"string(9) "{"ret":0}"



JSON_FORCE_OBJECT (integer)  
使一个非关联数组输出一个类(Object)而非数组。 在数组为空而接受者需要一个类(Object)的时候尤其有用。 自 PHP 5.3.0 起生效。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn