2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > php作为接口返回json数据格式问题

php作为接口返回json数据格式问题

时间:2022-02-28 23:21:37

相关推荐

php作为接口返回json数据格式问题

后端开发|php教程

php作为接口返回json数据格式问题

后端开发-php教程

php作为接口返回json数据格式问题,返回的数据中,如果是多维数组就是[{ …… }]这种形式,如果这里面空,应该返回 [ ] 这种。

如果是一维数组,{…….}这种形式,如果它是空,也要返回 { } 这种形式。

问题来了,如果多维数组为空,比如$result = array();,返回的就是 [ ] 这种形式。改怎么改呢?

echo str_replace(‘[]’, ‘{}’, json_encode($json)); 这样的话就把所有的 [ ] 都替换成 { } 大括号了

易语言 隐藏进程 源码,有新版的ubuntu,tomcat连不上数据库,京东爬虫代码,php 唤醒app,忠县智能化seo推广有哪些品牌lzw

回复讨论(解决方案)

阿狸告白源码,ubuntu双系统efi,tomcat安装包怎么下载,客户聚焦爬虫,扣丁学堂php培训内容,020SEOlzw

if判断一下输出的值,根据不同的数据结果输出不同的$json后再json_encode

mvc登陆源码,ubuntu 内核打补丁,安卓访问电脑tomcat,python 爬虫鼠标,php教学评课,张家界网络seo优化成交价lzw

返回空数组或空对象会影响使用吗?

返回空数组或空对象会影响使用吗?

不仅仅是影响使用了,是根本没法用了。安卓的闪退,就是因为它

那是因为你没有判空

那是因为你没有判空

判断了,空的话我就让它为空数组$a=array();

不需要替换的,你用java的json进行解析后就是个数组,直接判断就好了。闪退的原因是因为你没有对空对象传递进行屏蔽导致程序致命错误直接闪退,是代码不严谨导致,跟json的括号没关系。

当然你也可以做一下类型转换(不过使用时不判空总是不行的)

$a = array(  => (object)array(), c => array(),);echo json_encode($a);

{“b”:{},”c”:[]}

不需要替换的,你用java的json进行解析后就是个数组,直接判断就好了。闪退的原因是因为你没有对空对象传递进行屏蔽导致程序致命错误直接闪退,是代码不严谨导致,跟json的括号没关系。

如何对空的进行屏蔽,很多数据都是空呀

建议你返回json的时候最外层用对象,这样json_encode之后就是{};

$rst = new stdClass();echo json_encode($rst);$rst->code = 200;$rst->errormessage = "操作成功";$rst->data = array( ame => 张三);echo json_encode($rst);

不需要替换的,你用java的json进行解析后就是个数组,直接判断就好了。闪退的原因是因为你没有对空对象传递进行屏蔽导致程序致命错误直接闪退,是代码不严谨导致,跟json的括号没关系。

如何对空的进行屏蔽,很多数据都是空呀

个人觉得你们的json输出需要有一个统一的出口,这样就输出结果进行统一的控制

不需要替换的,你用java的json进行解析后就是个数组,直接判断就好了。闪退的原因是因为你没有对空对象传递进行屏蔽导致程序致命错误直接闪退,是代码不严谨导致,跟json的括号没关系。

如何对空的进行屏蔽,很多数据都是空呀

你要交给androidJava的去做这个工作,如果你是写android那你肯定知道怎么屏蔽,如果你只是写接口的那就需要根据需求去规范输出对应的数据。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。