首页 > CMS建站 > 织梦DEDE > 正文

dedecms全局标签:json JSON数据调用

2021-12-24 21:21:19
字体:
来源:转载
供稿:网友

json JSON数据调用

>=dedecms 5.7

名称:json

功能:调用某个远程连接的json接口,方便同远程站点之间进行通信来调取内容

语法:

{dede:json url='http://yoursite/json.php' cache=300}

    [field:id/]-[field:title/]<br/>

{/dede:json}

文件:

/include/taglib/json.lib.php

function lib_json(&$ctag,&$refObj)

默认底层模板:

参数:

url='' 远程json接口地址

注:所传递的数据需要是UTF-8编码格式,否则可能会出现乱码。

cache=300 缓存时间,0为不缓存

底层字段:

json传递数组字段

范例:

我们首先编写一个简单的服务器端API,将其存放在系统根目录/api下,由于系统是GB2312编码,所以服务端编写的时候我们进行了一些编码转换的处理,保证服务端访问的编码是UTF-8即可。

<?php

$cfg_NotPrintHead = false;

header("Content-Type: text/html; charset=utf-8");

include_once (dirname(__FILE__)."/../include/common.inc.php");

error_reporting(E_ALL || ~E_NOTICE);

require_once(DEDEINC.'/json.class.php');

 

$reval = array();

$dsql->SetQuery("SELECT id,title FROM `#@__archives` ORDER BY id DESC LIMIT 0,10");

$dsql->Execute('me');

while ($row = $dsql->GetArray('me')) {

    $row['title'] = gb2utf8($row['title']);

         $reval[] = $row;

}

 

$json = new Services_JSON(SERVICES_JSON_SUPPRESS_ERRORS);

echo $json->encode($reval);

?>

通过地址http://www.dede.com/api/arcticle.php我们可以访问到刚才编写的服务端文件。

1.png

下面我们就可以通过标签来进行访问。

{dede:json url='http://www.dede.com/api/arcticle.php' cache=0}

    [field:id/]-[field:title/]<br/>

{/dede:json}

测试标记结果如下:

2.png

如果您是想获取单条记录,可以构造如下的数组:

$row[] = $dsql->GetOne(“SELECT * FROM #@__archives WHERE id=88”);

然后将这个数组通过JSON格式化进行处理。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表