json 데이터 형식은 서로 다른 사이트 간의 데이터 호출 및 참조를 용이하게 할 수 있습니다. 물론 DEDECMS는 다른 사이트에서 호출하기 위해 전체 사이트 데이터에 대해 JSON을 생성할 수도 있습니다. 주로 include/json.class를 사용합니다. .php.
DreamWeaver 자체에는 자체 json 태그가 있습니다. 호출 방법:
{dede:json url='http://yoursite/json.php' cache=300} [field:id/]-[field:title/]<br/> {/dede:json}
이 레이블 호출 예제는 DreamWeaver 매뉴얼에 제공되어 있습니다. 이 URL은 원격 json 인터페이스 주소입니다. 코드에서 최종 반환은 json_encode($feeds) 시스템 함수를 통해 데이터를 전달해야 하며, json 인코딩 후 echo 또는 print() 함수를 통해 인쇄해야 합니다. 그런 다음 앞에 이 두 점이 필요합니다. 데스크에서는 $.ajax() 또는 $.getjson()을 전달하여 데이터를 가져올 수 있습니다. Dreamweaver 시스템은 include/json.class.php 파일에 json 클래스를 제공합니다. 즉, json 인코딩을 php 파일로 변환할 때 다음 두 가지 방법이 있습니다.
1 php를 직접 사용합니다. 시스템에서 제공하는 시스템 함수는 json_encode()입니다. PHP 시스템에서 제공하므로 Dream Weaver 시스템에서 제공하는 함수는 필요하지 않습니다. .
2. DreamWeaver 시스템에서 제공하는 encode()를 사용하기 전에 먼저 json.class.php를 소개하세요. 즉,
require_once(DEDEINC.'/json.class.php'); $json = new Services_JSON(SERVICES_JSON_SUPPRESS_ERRORS); echo $json->encode($reval);
$reval 이 변수는 데이터베이스나 다른 곳에서 가져오는 것입니다. . 일반적으로 2차원 배열입니다. 예:
Array ( [0] => Array ( [id] => 95 [title] => 原图设计) [1] => Array ( [id] => 113 [title] => ssssssssssss) [2] => Array ( [id] => 111 [title] => hjhj ) [3] => Array ( [id] => 110 [title] => ssssssssssss) )
에코 후 표시되는 내용은 다음과 같습니다.
[ {"id":"95","title":"\u539f\u521b"}, {"id":"113","title":"ssssssssssss"}, {"id":"111","title":"hjhj"}, {"id":"110","title":"ssssssssssss"} ]
encoding() 또는 json_encode()를 사용한 후 표시되는 내용입니다. 즉, 대괄호로 묶인 여러 개의 json 데이터가 요청된 $.ajax() 또는 $.getjson()으로 반환되어 데이터를 처리하고 원하는 결과를 표시합니다.
이제 원리를 알았으니 다음 단계는 다음과 같은 세부 구현 방법입니다.
먼저 새 PHP 파일을 만들고 이름을 json.php로 지정합니다(새 폴더를 만들고 이름을 api로 지정할 수도 있습니다. 호출할 때 호출되는 API 인터페이스로 사용되는 http://도메인 이름/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='http://域名/json.php' cache=300} [field:id/]-[field:title/]<br/> {/dede:json}
필요한 곳에 호출 코드를 넣으세요
cache=300 캐시 시간, 0은 캐싱이 없음을 의미합니다
추천: dedecms 사용 튜토리얼
위 내용은 Dedecms에 API 인터페이스를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!