织梦CMS JSON数据生成 织梦CMS JSON接口制作
json数据格式可以便捷不一样站点之间进行数据调用引用,当然自己的织梦CMS也可以达成全站数据生成JSON供其他站点调用,代码很容易,主要用到include/json.class.php。
织梦DEDE本身是自带json标签的,调用办法:{dede:json url='http://yoursite/json.php' cache=300}
[field:id/]-[field:title/]<br/>
{/dede:json} 这个标签调用例子在织梦DEDE手册里已经给大家供应了,url是一个远程json接口地址,这个接口文件json.php代码 里面,最后的返回需要是把数据通过json_encode($feeds)软件函数,进行json编码后,通过echo或print()函数来打印出来,这二点是需要的,然后,在前台大家就可以通过$.ajax()或$.getjson()来获取数据。织梦DEDE软件给大家供应了一个json类,在include/json.class.php文件里面,也就是是说,大家在对php文件转换json编码,就有了二种办法: 1.直接用php软件给大家供应的软件函数,json_encode(),我建立大家用这个,即容易又省事,既然,php软件给大家供应了,大家可以不需要织梦DEDE软件供应的。 2.就是用织梦DEDE软件供应的,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,这样调用的时候就仅需http://你的域名/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版的织梦CMS
调用办法:
{dede:json url='http://域名/json.php' cache=300}
[field:id/]-[field:title/]<br/>
{/dede:json}
把调用代码放到你你需要的地方就行
cache=300 缓存时间,0为不缓存
希望以上内容可以解决您的问题!
如有其他问题欢迎大家一起交流学习!
►本文网址:http://www.jiangyoumei.com/jiaocheng/kaifa/20190902/2703.html
►凡本站提供教程均已验证教程的准确性。
►为提高用户在织梦后台添加栏目的灵活性(可随意添加/删除栏目),并保持(管理后台添加/删除栏目)与前端网站栏目的一致,本站模板中栏目均未固定,用户直接搜索typeid=''并替换''中的数字为所需栏目id即可。
►本站提供各种类型织梦模板!希望在这里找到喜欢的。下载本站模板,用户直接替换相关文字和图片即可。
►本站仅提供织梦模板即(DEDE模板),(除另外说明)均不带织梦安装程序及数据,用户直接覆盖默认模板即可。
►本站所有资源(包括源码、模板、插件等)仅供学习与参考,请勿用于商业用途。
►如有其他问题,请加网站客服QQ(375750496)进行交流。
- 织梦DEDE二次开发之审核时间同步更新
- 织梦DEDECMS二次开发列表AJAX按条件排序
- 织梦DEDECMS二次开发缩略图变形的解决办法
- 织梦DEDE二次开发全站文章收藏总次数统计
- 织梦DEDECMS二次开发不一样栏目调用不一样的模板
- 织梦CMS二次开发文档手册 程序目录详解以及数据
- 织梦DEDE二次开发时采用{dede:arclist},{dede:list}获得
- 织梦DEDE 达成友情链接在首页、内页分别显示
- 怎么样加快织梦DEDE 内容生成速度办法
- 织梦DEDE5.7文章二次开发达成阅读全文功能的办法
- 织梦DEDE二次开发必须具备教材-Dedesql数据库类详
- DEDE织梦DEDE二次开发必须具备教材-Dedesql数据库类