国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php處理json格式數(shù)據(jù)經(jīng)典案例有哪些

2020-03-22 19:13:21
字體:
供稿:網(wǎng)友
  • 本文實(shí)例總結(jié)了php處理json格式數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
    1.json簡介:
    何為json?
    簡 單地說,JSON 可以將 JavaScript 對象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后就可以在函數(shù)之間輕松地傳遞這個字符串,或者在異步html' target='_blank'>應(yīng)用程序中將字符串從 Web 客戶機(jī)傳遞給服務(wù)器端程序.
    通俗點(diǎn)講,它是一種數(shù)據(jù)的存儲格式,就像php序列化后的字符串一樣。
    它也是一種數(shù)據(jù)描述,比如:我們將一個數(shù)組序列化后存放,就可以很容易的反序列化后應(yīng)用;json也是如此,只不過它搭建的是客戶端javascript和服務(wù)器端php交互的橋梁。
    如何使用json?
    自php5.2開始及之后的版本都內(nèi)置了json的支持,主要有兩個函數(shù):
    json_encode():編碼,生成一個json字符串
    json_decode():一個解碼
    注意:經(jīng)過json_encode()函數(shù)編碼后,將返回一個json格式的字符串,如:$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';將json格式的字符串輸出,將得到一個json格式的javascript對象
    2.json案例一:
    json_encode的使用:
    php
    $arr = array(
    'name' => '魏艷輝',
    'nick' => '為夢翱翔,
    'contact' => array(
    'email' => 'zhuoweida@163.com',
    'website' => 'http://zhuoweida.blog.tianya.cn',
    )
    );
    $json_string = json_encode($arr);
    echo $json_string;//json格式的字符串
    ?>
    結(jié)果:
    {
    "name":"陳毅鑫",
    "nick":"深空",
    "contact":
    {
    "email":"shenkong at qq dot com",
    "website":"http://www.chinaz.com"
    }
    }
    提示:輸出的數(shù)據(jù)本身就是json格式的js對象,因?yàn)闆]有帶引號,所以在前臺頁面可以直接將其當(dāng)做json對象使用
    總結(jié):關(guān)聯(lián)數(shù)組是按照javascript對象來構(gòu)造的
    分析:上述案例很簡單的將一個數(shù)組json化了,需要指出的是在非utf-8編碼下,中文字符將不可被encode,結(jié)果會出來空值,所以如果你使用gb2312編碼編寫php代碼,那么就需要將包含中文的內(nèi)容使用iconv或mb系列函數(shù)轉(zhuǎn)化為utf-8后在json_encode
    3.json案例二:
    json_decode的使用:
    php
    $arr = array(
    'name' => '魏艷輝',
    'nick' => '為夢翱翔',
    'contact' => array(
    'email' => 'zhuoweida@163.com',
    'website' => 'http://zhuoweida.blog.tianya.cn',
    )
    );
    $json_string = json_encode($arr);
    $obj = json_decode($json_string); //可以使用$obj->name訪問對象的屬性
    $arr=json_decode($json_string,true);//將第二個參數(shù)為true時將轉(zhuǎn)化為數(shù)組
    print_r($obj);
    print_r($arr);
    ?>
    結(jié)果:
    {
    "name":"陳毅鑫",
    "nick":"深空",
    "contact":
    {
    "email":"shenkong at qq dot com",
    "website":"http://www.chinaz.com"
    }
    }
    總結(jié):關(guān)聯(lián)數(shù)組是按照J(rèn)avaScript對象來構(gòu)造的
    提示:輸出的數(shù)據(jù)本身就是json格式的js對象,因?yàn)闆]有帶引號,所以在前臺頁面可以直接將其當(dāng)做json對象使用
    分析:編碼后就要解碼,php提供了相應(yīng)的函數(shù)json_decode,執(zhí)行此函數(shù)后,將會得到一個對象或數(shù)組。
    4.json案例三:
    當(dāng)和前臺交互的時候,json的作用就顯示出來了:
    例如:javascript代碼如下:
    type="text/javascript">
    var obj = {
    "name":"陳毅鑫",
    "nick":"深空",
    "contact":
    {
    "email":"shenkong at qq dot com",
    "website":"http://www.chinaz.com"
    }
    };
    alert(obj.name);
    代碼分析:上面代碼,直接將json格式數(shù)據(jù)賦給一個變量,它就變成一個javascript對象了,這樣我們可以很方便的對obj進(jìn)行遍歷
    提示:在javascript中,數(shù)組的訪問是通過索引來訪問的;對象屬性的訪問是通過 對象名.屬性名 來訪問的
    提示:輸出的數(shù)據(jù)本身就是json格式的js對象,因?yàn)闆]有帶引號,所以在前臺頁面可以直接將其當(dāng)做json對象使用
    5.json案例四:json跨域的數(shù)據(jù)調(diào)用:
    例如:主調(diào)文件index.html
    type="text/javascript">
    function getProfile(str) {
    var arr = str;
    document.getElementById('nick').innerHTML = arr.nick;

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 蓝田县| 龙州县| 桂阳县| 星座| 青岛市| 正阳县| 盐城市| 富锦市| 衡山县| 浦东新区| 曲松县| 襄樊市| 南溪县| 岳普湖县| 昆山市| 连山| 娄烦县| 乌兰县| 贵德县| 泸西县| 永善县| 浦县| 武强县| 仁怀市| 玛纳斯县| 丹阳市| 赣州市| 鲁甸县| 二手房| 永年县| 喀什市| 嵩明县| 石柱| 越西县| 通州区| 和静县| 大同县| 乳山市| 沂水县| 揭东县| 顺义区|