重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
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"}}
var_dump — 打印变量的相关信息
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
例如:
?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?
输出:
array(3) {
[0]= int(1)
[1]= int(2)
[2]= array(3) {
[0]= string(1) "a"
[1]= string(1) "b"
[2]= string(1) "c"
}
}
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转换就行了。
用json_encode()函数对数组进行JSON编码。
有时候收不到可能是因为你返回的json格式被破坏了,最大的可能是BOM导致的,不要使用系统自带的记事本编辑utf8格式的php。
还有就是在json_encode()前面和后面不能有别的输出。
最好使用exit(json_encode($array))来输出。