文章介绍
织梦json标签是用于调用某个远程连接的json接口,方便同远程站点之间进行通信来调取内容。这个标签可以很方便的对一些网站开放的API接口进行对接。需要注意的是,所传递的数据需要是UTF-8编码格式,否则可能会出现乱码。标签语法:
^ / Y 1 N i{dede:json url='http://yoursite/json.php' cache=300}
[field:id/]-[field:title/]
{/dede:? ~ S O + ajson}
标签参数:
url='' //远程json接口地址
cache=300 //缓存时间,0为不缓存
标签示例:
我们首先编写一个简单的服务器端AP2 E U mI,将其存放在系统根目录/api下,由于系统是GB2312编码,所以服务端编写的时候我们进行了一些编码转换的处理,保证服务端访问的编码是UTF-8即可。
$cfg_NotPrintHead = fal- w u 1 . d P ~ @se;
header("Content-Type: text/html; char+ { 9set=utf-8");
include_once (dirname(__FILE__)."/../include/common.inc.php");
error_reporting(l \ G t ( p UE_ALL || ~E_NOTIh z R 7CE);
require_once(DEDEINC.'/json.class.php');
$revalK H B u 2 w I E = array();
$dsql->SetQR d # + ? e V Suery("SELECTi _ ( X id,title FROM `dede_archives` Oi 9 Y % . &RDER BY id DESC LIMIT 0,10");
$dsql->Execute('me');
while ($row = $dsql->GetArraG U K u hy('me')) {
$row['title'] = gb2utf8($row['title']);
$reval[] = $row;
}
$json = new Services_JSON(SERVICES_JSON_SUPPRESS_ERR` # 4 ( : 8 )ORS);
echo $json->encode($reval);
?>
通过地址(注意修改为你自己的域名)我们可以访问到刚} E e才编写的服务端文件。
下面我们就可以通过标签来进行访问。
{ded1 - S ! O & Ue:json url='http://www.dede.com/api/arcticle.php? S 7 j O K' cache=0}
[field:id/]-[field:title/]
{/den C E lde:json}
$row[] = $dsql->GetOne(“SELECT * FROM d. w tede_archives WHERE id=88”);
然后H j / S 2 j将这个数组通过JSON格式化进行处理。