php 輸出JSON格式,使用json_encode函數(shù)即可
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、桃山網(wǎng)站維護(hù)、網(wǎng)站推廣。
例如:
?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);
?
得到結(jié)果:
{"fruits":{"a":"orange","b":"banana","c":"apple"},"numbers":[1,2,3,4,5,6],"holes":{"0":"first","5":"second","6":"third"}}
var_dump — 打印變量的相關(guān)信息
此函數(shù)顯示關(guān)于一個(gè)或多個(gè)表達(dá)式的結(jié)構(gòu)信息,包括表達(dá)式的類型與值。數(shù)組將遞歸展開值,通過縮進(jìn)顯示其結(jié)構(gòu)。
例如:
?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格式返回的是數(shù)據(jù)一般是這樣的,但也有不同:
?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();解析成數(shù)組,但我解析的時(shí)候提示:有無(wú)法解析的數(shù)據(jù)編碼。
也就是數(shù)據(jù)亂碼的那部分,解決亂碼我用了header的聲明,但不管用,最后用了:
iconv('utf-8','gbk',$a);
問題解決,先轉(zhuǎn)碼,后解析
最后json轉(zhuǎn)換就行了。
用json_encode()函數(shù)對(duì)數(shù)組進(jìn)行JSON編碼。
有時(shí)候收不到可能是因?yàn)槟惴祷氐膉son格式被破壞了,最大的可能是BOM導(dǎo)致的,不要使用系統(tǒng)自帶的記事本編輯utf8格式的php。
還有就是在json_encode()前面和后面不能有別的輸出。
最好使用exit(json_encode($array))來(lái)輸出。