欢迎来到w88模板网!
DEDECMSJSON接口制作

DEDECMSw88JSON接口制作

浏览次数: 0

作者: w88模板网

信息来源:

更新日期: 2018-10-06

文章简介

json数据格式可以方便不同站点之间进行数据调用引用,当然我们的DEDECMS也可以实现全站数据生成JSON供其他站点调用,代码很简单,主要用到include/json.class.php。 w88本身是自带json标签的,调用方法: {dede:json url=https://yoursite/json.php cache=300

  • 正文开始
  • 热门文章

json数据格式可以方便不同站点之间进行数据调用引用,当然我们的DEDECMS也可以实现全站数据生成JSON供其他站点调用,代码很简单,主要用到include/json.class.php。

w88本身是自带json标签的,调用方法:

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

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

{/dede:json}

这个标签调用例子在w88手册里已经给我们提供了,url是一个远程json接口地址,这个接口文件json.php代码 里面,最后的返回必须是把数据通过json_encode($feeds)系统函数,进行json编码后,通过echo或print()函数来打印出来,这二点是必须的,然后,在前台我们就可以通过$.ajax()或$.getjson()来获取数据。w88系统给我们提供了一个json类,在include/json.class.php文件里面,也就是是说,我们在对php文件转换json编码,就有了二种方法:

1.直接用php系统给我们提供的系统函数,json_encode(),我建立大家用这个,即简单又省事,既然,php系统给我们提供了,我们可以不用w88系统提供的。

2.就是用w88系统提供的,encode(),在使用前,首先引入json.class.php,即:

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

$json = new Services_JSON(SERVICES_JSON_SUPPRESS_ERRORS);

echo $json->encode($reval);

$reval这个变量是我们从数据库或其它地方得到的,一般是一个二维数组,例如下:

Array (

[0] => Array ( [id] => 95 [title] => 原图设计)

[1] => Array ( [id] => 113 [title] => ssssssssssss)

[2] => Array ( [id] => 111 [title] => hjhj )

[3] => Array ( [id] => 110 [title] => ssssssssssss)

)

经echo 以后,显示的内容如下所示。

[

{"id":"95","title":"\u539f\u521b"},

{"id":"113","title":"ssssssssssss"},

{"id":"111","title":"hjhj"},

{"id":"110","title":"ssssssssssss"}

]

这是经过encode()或用json_encode()后,显示的内容。即,用中括号括起来的,几个json数据,这个数据回给请求的$.ajax()或$.getjson(),并由其对这个数据进行处理,显示我们相要的结果。

知道了原理,接下来就是详细实现方法,如下:

首先新建一个PHP文件,命名为json.php(也可以新建个文件夹命名为api,然后PHP命名为index.php,这样调用的时候就只需要https://你的域名/api这样的方式调用),用于作为被调用的API接口,代码如下:

<?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 `dede_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);
?>


这里代码有进行了GBK转UTF8的操作,所以兼容GBK版的DEDECMS

调用方法:

{dede:json url='https://域名/json.php' cache=300}

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

{/dede:json}

把调用代码放到你你需要的地方就行

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

w88二次开发QQ群

本站客服QQ号:,群号(383578617) 如果您有任何w88问题,请把问题发到群里,阁主将为您写解决教程!

转载请注明: w88模板 » DEDECMSw88JSON接口制作

标签: w88接口 JSON接口
  • DedeCMS教程QQ群
    阅读
    用 w88建站 会手机站首页不更新的苦恼,每次 PC 更新,要去删除 m 目录下的 index.html ,手机站首页才会更新,这样很麻烦,通过以下修改,让手机站首页是动态的,不生成 index.html , PC 端更新后,手机端首页自动更新。 把 \m\index.php 里面的 $row[sho...
  • dedecms手机站m目录下不生成index.html实现动态更新
    阅读
    w88系统安装好后,进入后台,出现Fatal error: Call to undefined function make_hash() in /dede/sys_info.php on line 201 一般出现这个问题是因为升级网站引起的。我们可以直接把错误提示这段代码删除或者屏蔽就行了。 打开/dede/sys_info.php,找到201...
  • Fatal error: Call to undefined function make_hash() in /dede/sys_info.jpg on line 201的解决方法
    阅读
    网上很多教程都是用 dedecms 自带的邮件库发送邮件,而且是写死要发送的字段内容,今天我们用 phpmailer 来给站长发送自定义表单提交的数据到指定邮箱上 (QQ 邮箱, 163 邮箱都可以 ) ,不写死任何东西,有什么字段就提交发送什么字段。 操作之前,我们要先...
  • dedecms提交自定义表单后发送到指定邮箱
    阅读
    有时我们看到别人家的w88dedecms网站有打赏功能,是不是羡慕嫉妒恨呢?今天我来给大家讲讲w88网站怎么添加支付宝、微信打赏功能。 二、首先登陆畅言后台(没有畅言账号的首先注册账号) 三、进入后台,找到实验室--打赏 四、设置配置信息,保存。 五、复制...
  • dedecms网站添加打赏功能
    阅读
    最近有粉丝说,之前用的火车头发布文章时,用免登陆接口在PHP7.0环境中显示空白,于是今天抽空更新了一下插件(话说,DedeCms早期版本无法在PHP7.X运行,用最新版的!),那么接下来的代码就是插件发布模块无须变更,只需要变更接口插件就可以了 ?php/*/////...
  • Dedecms 5.7 火车头采集免登陆发布接口适配PHP7.X插件
    阅读
    当前很多人用w88dedecms系统建站,多城市分站对地方性长尾关键词和全国市场的推广有着很大的帮助,今天和大家分享下如何实现w88dedecms系统多城市分站功能。 方法/步骤 w88dede城市分站有三种方法: 第一种是建立N多个模板,有多少个城市建立多少个模板,...
  • dedecms系统多城市分站功能开发思路
    阅读
    最新的w88dedecms程序手机版下一篇变上一篇而且还出错Request Error!,这是因为官方写错了一个地方 打开 /include/arc.archives.class.php 找到 $mlink = view.php?aid=.$preRow[id]; 注意:这个文件里面有2个上面的代码,真正要改的是大概在 839 行 改成 $...
  • 手机站下一篇变上一篇而且还出错Request Error!
    阅读
    w88导航栏目高亮代码如下: {dede:field name=typeid runphp=yes} if(@me==8) @me=1; else @me=0; {/dede:field} 导航的写法, 比如:lia href={dede:type typeid=7}[field:typelink /]{/dede:type} {dede:field name=typeid runphp=yes} if(@me==7) @me=cl...
  • 获取当前栏目id并判断使当前导航栏目高亮
    阅读
    w88小说站上一章节下一章节实现方法,通过修改include/arc.archives.class.php这个文件来实现这样的效果: 实现原理:通过writer作者栏来匹配所有章节,然后根据文章ID排序来实现w88小说文章上一章节下一章节。 部分代码截图: 附:arc.archives.class.php...
  • 小说站上一章节下一章节修改arc.archives.class.jpg的实现方法
    阅读
    最近用w88dedecms程序采集文章时候,发现每次采集都要去后台更新一下文章、栏目、上下篇以及首页,操作起来真心麻烦,后面在网上收集了一些代码以及经过自己调试,发现居然可以自动更新文章页以及栏目、首页。真心爽,这样子就能稳稳的挂机采集了哈。这是免...
收藏此文 打赏本站

如本文对您有帮助,就请w88模板网抽根烟吧!

  • 支付宝打赏
    火车头采集免登陆接口采集文章后自动更新栏目、首页、文章页,实现自动化采集
    微信打赏
    支付宝扫描打赏
w88dedecms内容管理系统模板标签代码参考
« 上一篇 2018年10月08日
w88软件模型图集模型自动获取关键字/tag标签
下一篇 » 2018年10月06日

精彩评论

微信扫描打赏
有问题在这里提问,阁主会为你解决!
  • 全部评论(0
    还没有评论,快来抢沙发吧!
推荐w88插件更多
更新时间:2019-06-09

人已经看过了!

更新时间:2017-07-07

人已经看过了!

更新时间:2019-10-20

人已经看过了!

更新时间:2017-08-29

人已经看过了!

更新时间:2019-07-11

人已经看过了!

更新时间:2017-07-07

人已经看过了!

推荐精品模板更多
图集局部放大镜jquery特效
更新时间:2017-08-10

人已经看过了!

绿色新闻资讯w88带测试数据
更新时间:2019-11-09

人已经看过了!

营销型油烟空气净化器电磁炉电器类w88(带手机端)
更新时间:2017-08-10

人已经看过了!

木质地板-家具橱柜w88 带手机版
更新时间:2017-08-10

人已经看过了!

高端品牌建筑装饰类响应式w88
更新时间:2019-11-07

人已经看过了!

律师事务所网站(中英双语自适应模板)
更新时间:2019-11-08

人已经看过了!

新闻博客军事新闻资讯头条网w88(带手机端)
更新时间:2019-09-29

人已经看过了!

中英双语窗帘门窗类网站w88(响应式源码)
更新时间:2017-08-10

人已经看过了!