综合干狼人综合首页,日本а中文在线天堂,中国av一区,日韩va亚洲va欧洲va国产

03
2018/11

JSON在PHP中的基本應(yīng)用

發(fā)布時(shí)間:2018-11-03 11:52:54
發(fā)布者:pengyifeng
瀏覽量:
0

 JS 語(yǔ)言中,一切都是對(duì)象。因此,任何支持的類型都可以通過(guò) JSON 來(lái)表示,例如字符串、數(shù)字、對(duì)象、數(shù)組等。但是對(duì)象和數(shù)組是比較特殊且常用的兩種類型,我們就先了解一下對(duì)象跟數(shù)組之間是如何轉(zhuǎn)換區(qū)別有是如何:

一、json_encode()

該函數(shù)主要用來(lái)將數(shù)組和對(duì)象,轉(zhuǎn)換為json格式。先看一個(gè)數(shù)組轉(zhuǎn)換的例子:

1 $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);  2 echo json_encode($arr);

結(jié)果為:{"a":1,"b":2,"c":3,"d":4,"e":5} 

再看一個(gè)對(duì)象轉(zhuǎn)換的例子:

1 $obj->body = 'another post';2 $obj->id = 21;3 $obj->approved = true;4 $obj->favorite_count = 1;5 $obj->status  = NULL;6 echo json_encode($obj);

結(jié)果為:{"body":"another post","id":21,"approved":true,"favorite_count":1,"status":null} 

由于json只接受utf-8編碼的字符,所以json_encode()的參數(shù)必須是utf-8編碼,否則會(huì)得到空字符或者null。當(dāng)中文使用GB2312編碼,或者外文使用ISO-8859-1編碼的時(shí)候,這一點(diǎn)要特別注意。

二、索引數(shù)組和關(guān)聯(lián)數(shù)組

PHP支持兩種數(shù)組,一種是只保存"值"(value)的索引數(shù)組(indexed array),另一種是保存"名值對(duì)"(name/value)的關(guān)聯(lián)數(shù)組(associative array)。

由于javascript不支持關(guān)聯(lián)數(shù)組,所以json_encode()只將索引數(shù)組(indexed array)轉(zhuǎn)為數(shù)組格式,而將關(guān)聯(lián)數(shù)組(associative array)轉(zhuǎn)為對(duì)象格式。

比如,現(xiàn)在有一個(gè)索引數(shù)組

1 $arr = array('one','two','three');2 echo json_encode($arr);
結(jié)果為:["one","two","three"]  

如果將它改為關(guān)聯(lián)數(shù)組:

1 $arr = Array('1'=>'one', '2'=>'two', '3'=>'three');   2 echo json_encode($arr);

結(jié)果就變了:{"1":"one","2":"two","3":"three"}  

注意,數(shù)據(jù)格式從"[]"(數(shù)組)變成了"{}"(對(duì)象)。

如果你需要將"索引數(shù)組"強(qiáng)制轉(zhuǎn)化成"對(duì)象",可以這樣寫:

1 json_encode( (object)$arr );

或者:

1 json_encode ( $arr, JSON_FORCE_OBJECT );

三、類(class)的轉(zhuǎn)換

下面是一個(gè)PHP的類:

1 class Foo {2     const ERROR_CODE = '404';3     public    $public_ex = 'this is public';4     private   $private_ex = 'this is private!';5     protected $protected_ex = 'this should be protected'; 

6     public function getErrorCode() {7         return self::ERROR_CODE;8     }9 }
現(xiàn)在,對(duì)這個(gè)類的實(shí)例進(jìn)行json轉(zhuǎn)換:
1 $foo = new Foo;2 $foo_json = json_encode($foo);3 echo $foo_json;

輸出結(jié)果是:{"public_ex":"this is public"}   

可以看到,除了公開變量(public),其他東西(常量、私有變量、方法等等)都遺失了。

四、json_decode()

該函數(shù)用于將json文本轉(zhuǎn)換為相應(yīng)的PHP數(shù)據(jù)結(jié)構(gòu)。下面是一個(gè)例子:

1 $json = '{"foo": 12345}';2 $obj = json_decode($json);3 print $obj->{'foo'}; // 12345  

通常情況下,json_decode()總是返回一個(gè)PHP對(duì)象,而不是數(shù)組。比如:

1 $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';2 var_dump(json_decode($json)); 

結(jié)果就是生成一個(gè)PHP對(duì)象:

object(stdClass)[2]  public 'a' => int 1  public 'b' => int 2  public 'c' => int 3  public 'd' => int 4  public 'e' => int 5如果想要強(qiáng)制生成PHP關(guān)聯(lián)數(shù)組,json_decode()需要加一個(gè)參數(shù)true:

1 1 $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';2 2 var_dump(json_decode($json,true));   

結(jié)果就生成了一個(gè)關(guān)聯(lián)數(shù)組:array (size=5)  'a' => int 1

  'b' => int 2
  'c' => int 3
  'd' => int 4
  'e' => int 5

五、json_decode()的常見(jiàn)錯(cuò)誤

下面三種json寫法都是錯(cuò)的,你能看出錯(cuò)在哪里嗎?

$bad_json = "{ 'bar': 'baz' }";$bad_json = '{ bar: "baz" }';$bad_json = '{ "bar": "baz", }';

對(duì)這三個(gè)字符串執(zhí)行json_decode()都將返回null,并且報(bào)錯(cuò)。

第一個(gè)的錯(cuò)誤是,json的分隔符(delimiter)只允許使用雙引號(hào),不能使用單引號(hào)。

第二個(gè)的錯(cuò)誤是,json名值對(duì)的"名"(冒號(hào)左邊的部分),任何情況下都必須使用雙引號(hào)。

第三個(gè)的錯(cuò)誤是,最后一個(gè)值之后不能添加逗號(hào)(trailing comma)。


另外,json只能用來(lái)表示對(duì)象(object)和數(shù)組(array),如果對(duì)一個(gè)字符串或數(shù)值使用json_decode(),將會(huì)返回null。

var_dump(json_decode("Hello World")); //null


返回列表
综合干狼人综合首页,日本а中文在线天堂,中国av一区,日韩va亚洲va欧洲va国产
欧美国产日韩亚洲一区| 美国十次了思思久久精品导航| 国产精品日韩成人| 亚洲成人动漫精品| 日韩精品一区二区三区视频播放| 久久中文娱乐网| aaa欧美色吧激情视频| 26uuu色噜噜精品一区| 99国产一区二区三精品乱码| 国产精品自拍毛片| 自拍偷拍国产精品| 欧美日韩国产三级| 7777精品伊人久久久大香线蕉最新版| 亚洲一区在线视频| 久久精品欧美日韩| 91精品91久久久中77777| av在线播放不卡| 日韩一区二区三区四区| 国产精品午夜久久| 日韩精品一区二区三区视频在线观看| 国产精品亚洲综合一区在线观看| 久久久久久电影| 欧美精品色综合| 亚洲精品久久7777| 久久国产精品色婷婷| 依依成人精品视频| 美国毛片一区二区三区| 亚洲视频香蕉人妖| 91亚洲男人天堂| 精品国产一区二区精华| 在线免费观看视频一区| 成人av片在线观看| 国产精品网站在线| 国产欧美一区二区三区沐欲| 欧美日本在线观看| 丁香婷婷综合五月| 污片在线观看一区二区| 久久草av在线| 国产午夜精品久久久久久久| 国产精品久久三| 欧美va在线播放| 欧美精品九九99久久| 一区二区在线观看视频| 日精品一区二区| 国产69精品久久久久777| 色综合一区二区| 不卡的av电影| 亚洲欧洲美洲综合色网| 日本大香伊一区二区三区| 欧美aaa在线| 91精品久久久久久久91蜜桃| 精品一区二区三区免费播放| 国产午夜精品一区二区三区视频| 8v天堂国产在线一区二区| 日韩激情视频网站| 91污在线观看| 国产精品乱码妇女bbbb| 三级在线观看一区二区| 亚洲一卡二卡三卡四卡无卡久久| 亚洲自拍偷拍麻豆| 久久久久久免费网| 欧美日韩国产不卡| 国产欧美精品区一区二区三区| 日韩三级伦理片妻子的秘密按摩| 色天天综合久久久久综合片| 免费成人美女在线观看| 久久女同互慰一区二区三区| 成人性生交大片免费看在线播放| 男男gaygay亚洲| 九九九久久久精品| 亚洲三级久久久| 成人免费电影视频| 久久一夜天堂av一区二区三区| 麻豆国产欧美日韩综合精品二区| 欧美精品一区二区三区一线天视频| 日韩一本二本av| 国产精品久99| 91免费看视频| 大尺度一区二区| 欧美日本一区二区三区| 91福利小视频| 日本中文字幕一区| 日一区二区三区| 久久久久国产精品麻豆| 美洲天堂一区二卡三卡四卡视频| 一区二区三区欧美日| 久久综合九色综合97_久久久| 日本免费新一区视频| 欧美日韩精品是欧美日韩精品| 日韩欧美一级片| 91免费国产在线| 伊人夜夜躁av伊人久久| 精品日韩在线一区| 91精品国产色综合久久ai换脸| 午夜视频在线观看一区二区三区| 日韩午夜激情电影| 午夜精品久久久久久久久久久| 日韩欧美国产麻豆| 色综合久久久久综合体| 亚洲国产精品一区二区久久恐怖片| 国产精品一区二区黑丝| 午夜亚洲国产au精品一区二区| 亚洲h动漫在线| 91看片淫黄大片一级| 1区2区3区国产精品| 日韩电影一区二区三区四区| 日韩中文字幕区一区有砖一区| 久久久不卡网国产精品一区| 国产盗摄一区二区三区| 国产丶欧美丶日本不卡视频| 91丨国产丨九色丨pron| 欧美区在线观看| 国产成人精品亚洲日本在线桃色| 欧美午夜不卡在线观看免费| 欧美日韩中文国产| 国产成人精品午夜视频免费| 精品欧美久久久| 国产精品乱码一区二区三区软件| 26uuu欧美日本| 成人aaaa免费全部观看| 亚洲欧洲国产专区| 久久网站热最新地址| 亚洲精品国产无套在线观| 日韩av一区二区在线影视| 一区二区三区高清不卡| 亚洲天堂网中文字| 精品福利视频一区二区三区| 欧美三片在线视频观看| 中文字幕一区二区三区视频| 亚洲精品欧美综合四区| 天天爽夜夜爽夜夜爽精品视频| 麻豆成人久久精品二区三区小说| 91麻豆国产福利精品| 欧美aⅴ一区二区三区视频| 91久久奴性调教| 欧美日韩五月天| 中文字幕永久在线不卡| 欧美理论电影在线| 在线国产亚洲欧美| 日韩国产在线一| 国产日韩欧美在线一区| 日韩精品专区在线影院观看| 狠狠色丁香九九婷婷综合五月| caoporn国产一区二区| 这里只有精品电影| 精品久久国产老人久久综合| 成av人片一区二区| 波多野结衣精品在线| 日韩午夜激情视频| 久久久久久久久久久电影| 久久久无码精品亚洲日韩按摩| 麻豆精品一区二区三区| 亚洲一区二区三区美女| 在线视频一区二区三| 精品福利一区二区三区免费视频| 国产一区二区三区精品欧美日韩一区二区三区| 欧美成人高清电影在线| 成人美女视频在线观看| 在线观看免费亚洲| 夜夜精品浪潮av一区二区三区| 色婷婷综合五月| 在线视频国内自拍亚洲视频| 91精品婷婷国产综合久久竹菊| 波多野结衣亚洲一区| 成人免费在线播放视频| 精品国产髙清在线看国产毛片| 欧美一级二级三级蜜桃| 色美美综合视频| 中文字幕av不卡| 亚洲视频免费观看| 欧美一级黄色大片| 亚洲欧美电影一区二区| 亚洲国产欧美在线人成| 欧美一区二区视频在线观看2020| 成人中文字幕电影| 首页亚洲欧美制服丝腿| 夜夜精品视频一区二区| 欧美艳星brazzers| 亚洲精品免费视频| 91碰在线视频| 久久天天做天天爱综合色| 岛国av在线一区| 国产校园另类小说区| 国产成人综合自拍| 天堂影院一区二区| 亚洲成人777| 久久久不卡网国产精品二区| 成人av在线资源网站| 五月婷婷另类国产| 亚洲欧美另类小说| youjizz国产精品| 91老师国产黑色丝袜在线| 丁香婷婷综合激情五月色| 国产精品视频一二三区| 成人手机电影网| 99久久伊人网影院| 亚洲成av人在线观看| 中文字幕国产精品一区二区| 亚洲精品日韩一| 国产精品久久久久久久久久久免费看|