DEDECMS JSON数据生成 DEDECMS JSON接口制作

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

{dede:json url=’http://yoursite/json.php’ cache=300}
[field:id/]-[field:title/]<br/>
{/dede:json}

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

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

2.就是用织梦系统提供的,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”:”原创”},
{“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__).”/http://www.umxmt.com/a/zhimengjiaocheng/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=’http://域名/json.php’ cache=300}

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

{/dede:json}

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

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

本文内容来源于公开网络,出于传递信息之目的整理发布。原文版权归原作者所有,若涉及侵权请先提供版权后联系我们删除

(0)
WP之家WP之家
上一篇 2025年3月29日 上午11:41
下一篇 2025年3月29日

相关推荐

  • 《微信》钱包手势密码怎么设置

    《微信》钱包手势密码怎么设置,微信钱包是可以单独设置密码的,支持手势密码和面容密码,这样每次打开钱包就需要输入正确的密码才能进入查看了。那么微信钱包怎么设置手势密码呢?wp之家小编整理了相关的教程,希…

    2025年4月5日
  • 抖音巨量千川怎么投放?这四点你必须学会!

    第一:素材要够多,千川对于短视频的创作的质量要求是很高的,质量要过硬,短视频和直播间相互结合,所以投放巨量千川的话,素材要准备足够,才能把短视频内容制作好! 第二:精准定位人群,投放的人群不能过大,不…

    教程资讯 2025年3月29日
  • 《夸克浏览器》如何关闭会员自动续费

    《夸克浏览器》如何关闭会员自动续费,很多开通了夸克会员的朋友想要取消却不知道该怎么弄了。本文就将为大家介绍夸克浏览器自动续费的关闭方法,感兴趣的小伙伴们可以来一起看看哦! 1、打开手机支付宝,在我的页…

    2025年4月5日
  • excel表的使用方法?( Excel表格怎么用)

    Excel是一款功能强大的电子表格软件,用于存储、计算、分析和可视化数据。以下是Excel表的使用方法: 1. 打开Excel软件,创建一个新的工作簿(Workbook)或者打开一个已经存在的工作簿,双击Excel表文件名即可打开E…

    教程资讯 2025年3月29日
  • 《支付宝》农村合作医疗怎么交

    《支付宝》农村合作医疗怎么交,软件还可以用来缴纳社保,今天小编为大家带来了支付宝交农村合作医疗的方法,wp之家小编整理了相关的内容,希望对大家有所帮助。 支付宝在哪升级农村合作医疗卡 支付宝在哪交农村合…

    2025年4月5日
  • 《微信》朋友圈置顶功能是什么 有什么作用

    《微信》朋友圈置顶功能是什么 有什么作用,微信朋友圈置顶功能相信是许多小伙伴都比较需要的,这个功能可以让我们置顶自己的朋友圈内容,更容易被别人看到。那么微信朋友圈置顶功能在哪,微信朋友圈怎么没有置顶呢…

    2025年4月5日
  • 中国复姓大全排名,百家姓中的10大复姓

    复姓,是我国姓氏中比较少见的姓氏,但是在小说中比较多见。大家比较熟悉的欧阳锋、东方不败、独孤求败、西门庆、上官金虹、诸葛亮、令狐冲、夏侯渊、司马懿等,那你知道我国新百家姓中10大复姓都有哪些呢?下面让…

    教程资讯 2025年3月29日
  • 《阿里云盘》开通会员操作步骤一览

    《阿里云盘》开通会员操作步骤一览,很多用户咨询小编如何办会员,wp之家小编整理了相关的内容,希望对大家有所帮助。 阿里云盘如何办会员? 1、打开阿里云盘APP,点击做左上角头像。 2、点击进入会员中心。 3、点击…

    2025年4月5日