重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
php 输出JSON格式,使用json_encode函数即可
创新互联专注于企业营销型网站、网站重做改版、许昌网站定制设计、自适应品牌网站建设、HTML5建站、商城系统网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为许昌等各大城市提供网站开发制作服务。
例如:
?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"}}
首先你提问的问题描述不够清楚,我就当你用php去访问其他网站的接口,返回的是api数据
使用php的curl相关函数去访问(不同接口不同的请求验证或者直接get)
使用php内置函数json_decode()解析并处理返回数据
我不知道你用什么方式输出的json~
你应该用php内置的json_encode来输出~这样无论你的数据里有什么换行之类的,都可以正常输出?
?php
$str = EOF
测试换行
brb
aaa
EOF;
$data = array(
'title' = '测试getJSON为毛同样的代码读取不同信息效果不同 失效',
"content" = $str,
"cate" = "灌水专区",
"user" = "edire",
"addtime" = "01-26 01:35:25",
"edittime" = "01-26 01:35:25",
"comments" = "0",
"favorites" = "0"
);
echo json_encode($data);
?
以上代码会输出
{"title":"\u6d4b\u8bd5getJSON\u4e3a\u6bdb\u540c\u6837\u7684\u4ee3\u7801\u8bfb\u53d6\u4e0d\u540c\u4fe1\u606f\u6548\u679c\u4e0d\u540c \u5931\u6548","content":"\t\u6d4b\u8bd5\u6362\u884c\r\n\tb\r\n\taaa","cate":"\u704c\u6c34\u4e13\u533a","user":"edire","addtime":"01-26 01:35:25","edittime":"01-26 01:35:25","comments":"0","favorites":"0"}
所有的中文和换行等特殊符号均已被转义,你可以去bejson去解析一下这串数据试试~
其实就是把这3个结果并成一个数组,再转就是了
例如,
$res1=mysql_query($sql1);
$res2=mysql_query($sql2);
$res3=mysql_query($sql3);
定义一个新的数组 $a = array();
将3个结果压入这个新的数组
array_push($a,$res1);
array_push($a,$res2);
array_push($a,$res3);
最后转义输出
echo json_encode($a);
LZ遇到问题不要气馁呀