2023-06-03 9433

首頁 » 文檔 » 開發(fā)指南

網(wǎng)站數(shù)據(jù)轉(zhuǎn)換為JSON格式輸出

在開發(fā)APP、小程序等應(yīng)用過程中,經(jīng)常需要以API接口形式請求網(wǎng)站數(shù)據(jù),以下為JSON數(shù)據(jù)輸出的一個開發(fā)示例。

建立api/json/demo.php,代碼如下:

<?php
require '../../common.inc.php';
$lists = array();
$result = $db->query("SELECT itemid,title FROM {$DT_PRE}webpage ORDER BY listorder");
while($r = $db->fetch_array($result)) {
	$lists[] = $r;
}
echo json_encode($lists);
?>

基本流程是先引入系統(tǒng)框架,然后將數(shù)據(jù)庫里的數(shù)據(jù)查詢出來,保存到數(shù)組,通過json_encode函數(shù)將數(shù)組轉(zhuǎn)換為JSON格式數(shù)據(jù)輸出。

實際開發(fā)過程可以根據(jù)實際需要,傳遞不同的參數(shù),改變SQL語句來實現(xiàn)不同數(shù)據(jù)的輸出。

通過瀏覽器訪問 網(wǎng)站地址/api/json/demo.php 調(diào)試無誤之后,在應(yīng)用中請求此地址即可獲取相應(yīng)的數(shù)據(jù)。

自V8.0版本,api/json/demo.php已經(jīng)默認創(chuàng)建,可以參考此文件創(chuàng)建更多不同的文件對應(yīng)不同的功能需求。

為了訪問入口的統(tǒng)一,V8.0同時提供了api/json.php文件,可以通過傳遞文件名參數(shù) api/json.php?file=demo 來訪問 api/json/demo.inc.php

api/json.php代碼如下:

<?php
require '../common.inc.php';
require DT_ROOT.'/include/post.func.php';
(isset($file) && check_name($file)) or $file = 'demo';
@include DT_ROOT.'/api/json/'.$file.'.inc.php';
?>

api/json/demo.inc.php代碼如下:

<?php
defined('IN_DESTOON') or exit('Access Denied');
$lists = array();
$result = $db->query("SELECT itemid,title FROM {$DT_PRE}webpage ORDER BY listorder");
while($r = $db->fetch_array($result)) {
	$lists[] = $r;
}
echo json_encode($lists);
?>

例如需要調(diào)用新聞數(shù)據(jù),可以使用如下兩種方法實現(xiàn):

一、創(chuàng)建 api/json/news.php ,參考 api/json/demo.php 編寫邏輯,通過 網(wǎng)站地址/api/json/news.php 訪問

二、創(chuàng)建 api/json/news.inc.php ,參考 api/json/demo.inc.php 編寫邏輯,通過 網(wǎng)站地址/api/json.php?file=news 訪問

建議使用第二種方式進行開發(fā),如果需要對訪問進行認證,數(shù)據(jù)進行加密等可以直接在api/json.php中統(tǒng)一處理。

數(shù)據(jù) JSON API 接口 APP 小程序
以上內(nèi)容是否對您有幫助?點擊反饋加群交流

 
公司簡介   |   聯(lián)系方式   |   合作代理   |   隱私政策   |   使用協(xié)議   |   意見反饋