PHP中要返回json格式数据,直接输出,然后退出或者结束即可。示例如下:
成都一家集口碑和实力的网站建设服务商,拥有专业的企业建站团队和靠谱的建站技术,10多年企业及个人网站建设经验 ,为成都成百上千客户提供网页设计制作,网站开发,企业网站制作建设等服务,包括成都营销型网站建设,品牌网站制作,同时也为不同行业的客户提供成都网站制作、做网站、外贸营销网站建设的服务,包括成都电商型网站制作建设,装修行业网站制作建设,传统机械行业网站建设,传统农业行业网站制作建设。在成都做网站,选网站制作建设服务商就选成都创新互联公司。
$arr=array('name'='chinawinxp','site'='com');
echo json_encode($arr);
exit;
//或者exit(json_encode($arr));
概述
不对。
返回json用的json_encode()方法没错,但是需要在头部声明格式。
代码解析
php返回需要用json_encode()方法来将需要转换的字符串转换成json编码格式(注意:仅仅更换文件内容,而返回的文件依然为文本格式且编码为gtk)
所以,这里需要在php头部声明
header('Content-Type:text/json;charset=utf-8');
拓展内容
json
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
json通常被作为配置文件,常见还有.ini
php 输出JSON格式,使用json_encode函数即可
例如:
?php
header('Content-type: text/json');
$fruits = array (
"fruits" = array("a" = "orange", "b" = "banana", "c" = "apple"),
"numbers" = array(1, 2, 3, 4, 5, 6),
"holes" = array("first", 5 = "second", "third")
);
echo json_encode($fruits);
?
得到结果:
{"fruits":{"a":"orange","b":"banana","c":"apple"},"numbers":[1,2,3,4,5,6],"holes":{"0":"first","5":"second","6":"third"}}
xml格式返回的是数据一般是这样的,但也有不同:
?xml version="1.0" encoding="gbk"? root head actdate20170805/actdate trdate20170805/trdate trtime142410/trtime trseq20170807001/trseq succflag1/succflag retcode0000/retcode retmsg鎴愬姛/retmsg /head body rowcount0/rowcount /body /root
一般xml直接用php的:simplexml_load_string();解析成数组,但我解析的时候提示:有无法解析的数据编码。
也就是数据乱码的那部分,解决乱码我用了header的声明,但不管用,最后用了:
iconv('utf-8','gbk',$a);
问题解决,先转码,后解析
最后json转换就行了。