<blockquote id="kseem"></blockquote>
<samp id="kseem"><label id="kseem"></label></samp>
  • <blockquote id="kseem"><samp id="kseem"></samp></blockquote>
    <input id="kseem"></input>
    <samp id="kseem"><object id="kseem"></object></samp>
  • php返回json數據函數實例

    時間:2017/4/27 16:51:40,點擊:0

    本文實例講述了php返回json數據函數的用法,分享給大家供大家參考。具體方法如下:

    json_encode()函數用法:
    echo json_encode(array('a'=>'bbbb','c'=>'ddddd');

    這樣就會生成一個標準的json格式的數據
    <?php
    //需要執行的SQL語句
    //單條
    $sql="select id,name from tbl_user where id=1";
    //多條數據
    //$sql="select id,name from tbl_user";
    //調用conn.php文件進行數據庫操作
    require('Conn.php');
    //提示操作成功信息,注意:$result存在于conn.php文件中,被調用出來
    if($result)
    {
    // $array=mysql_fetch_array($result,MYSQL_ASSOC);

    /*數據集
    $users=array();
    $i=0;
    while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
    echo $row['id'].'-----------'.$row['name'].'</br>';
    $users[$i]=$row;
    $i++;
    }
    echo json_encode(array('dataList'=>$users));
    */
    /*單條數據*/
    $row=mysql_fetch_row($result,MYSQL_ASSOC);
      
    echo json_encode(array('jsonObj'=>$row));
    }
    mysql_free_result($result);
    //釋放結果
    mysql_close();
    //關閉連接
    ?>

    上面是數據庫生成json數據
    單條數據:
    {"jsonObj":{"id":"1","name":"lmw"}}

    多條數據:
    {"dataList":[{"id":"1","name":"lmw"},{"id":"2","name":"xxj"},{"id":"3","name":"xxxj"}]}

    現在很多情況下,我們需要程序返回一個Json格式的結果,比如:
    {
    "UserKeyGetResponse":
    {"RequestName":"e99e6d63e8c712d7699f52978a","api_key_value":"41954dd9b1cb6a95802eab6810"},
    "error_response":
    {"code":"NO_ERROR","msg":"獲取系統參數成功"}
    }

    可以將結果寫成這樣的數組形式:
    $respon = array('UserKeyGetResponse' => array('RequestName' => $api_request_name, 'api_key_value' => $api_key_value),
    'error_response' => array('code' => 'NO_ERROR', 'msg' => '獲取系統參數成功'));

    代碼如下:
    function arrayRecursive(&$array, $function, $apply_to_keys_also = false)
    {
    static $recursive_counter = 0;
    if (++$recursive_counter > 1000) {
      die('possible deep recursion attack');
    }
    foreach ($array as $key => $value) {
      if (is_array($value)) {
       arrayRecursive($array[$key], $function, $apply_to_keys_also);
      } else {
       $array[$key] = $function($value);
      }
      if ($apply_to_keys_also && is_string($key)) {
       $new_key = $function($key);
       if ($new_key != $key) {
        $array[$new_key] = $array[$key];
        unset($array[$key]);
       }
      }
    }
    $recursive_counter--;
    }
    g:
    $error_respon = array('code' => 'ERROR_MSG_MISS', 'msg' => '消息不存在');
    echo JSON($array);

    運行結果為:
    {"code":"ERROR_MSG_MISS","msg":"消息不存在"}

    客戶端就可以解析這個結果了,當然錯誤碼要用數字代替。
    這樣就好多了我們顯示的直接是中文了,當然顯示那個16進制的編碼也是沒有問題的。
    服務器端PHP:
    $result = mysql_query("select * from table");

    $reports=array();
    $i=0;

    while($row = mysql_fetch_array($result))
      {
      $reports[$i] = $row;
      $i++;
      }
    echo json_encode(array('dataList'=>$reports));

    小程序端JS:
      onShow: function() {
        var that=this
        wx.request({
      url: 'https://urltoyourserver.php', //僅為示例,并非真實的接口地址
      data: {
    、
      },
      method: 'POST',
      header: {
          'content-type': 'application/json'
      },
      success: function(res) {
      that.setData({ 'inform' : res.data.dataList})
      }
    })
    },

    inform現在就是object,你可以隨意顯示

    打印 | 關閉

    午夜男欢女爱免费视频,免费阿V网站在线观看G,国产六月婷婷爱在线观看,免费啪视频完整版在线观看,日本又色又爽又黄观看